diff --git a/dev/generate_clients.sh b/dev/generate_clients.sh index 29e5895..f17c745 100644 --- a/dev/generate_clients.sh +++ b/dev/generate_clients.sh @@ -26,7 +26,6 @@ schema_json="${PROJECT_DIR}/dev/schemas/rebuilt-swagger.json" config_yaml="${PROJECT_DIR}/dev/openapi-python-client.yml" output_dir="${PROJECT_DIR}" meta="setup" -skip_validate_spec=1 while (($# > 0)); do if [[ "$1" == "--schema-json" ]]; then schema_json="${2:?}" @@ -40,9 +39,6 @@ while (($# > 0)); do elif [[ "$1" == "--meta" ]]; then meta="${2:?}" shift 2 - elif [[ "$1" == "--skip-validate-spec" ]]; then - skip_validate_spec="${2:?}" - shift 2 else echo "ERROR: Unrecognized argument ${1}" >&2 exit 1 diff --git a/dev/schemas/rebuilt-swagger.json b/dev/schemas/rebuilt-swagger.json index 804407e..1effb37 100644 --- a/dev/schemas/rebuilt-swagger.json +++ b/dev/schemas/rebuilt-swagger.json @@ -2,7 +2,7 @@ "openapi": "3.0.0", "info": { "title": "Lightdash API", - "version": "0.1286.0", + "version": "0.1398.0", "description": "Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens\n", "license": { "name": "MIT" @@ -336,16 +336,16 @@ ] } }, - "/api/v1/comments/dashboards/{dashboardUuid}/{dashboardTileUuid}": { - "post": { - "operationId": "createComment", + "/api/v1/projects/{projectUuid}/dataCatalog/metrics": { + "get": { + "operationId": "getMetricsCatalog", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCreateComment" + "$ref": "#/components/schemas/ApiMetricsCatalog" } } } @@ -361,55 +361,86 @@ } } }, - "description": "Creates a comment on a dashboard tile", + "description": "Get metrics catalog", "tags": [ - "Comments" + "Catalog" ], "security": [], "parameters": [ { - "description": "the uuid of the dashboard", "in": "path", - "name": "dashboardUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } }, { - "description": "the uuid of the dashboard tile", - "in": "path", - "name": "dashboardTileUuid", - "required": true, + "in": "query", + "name": "search", + "required": false, "schema": { "type": "string" } - } - ], - "requestBody": { - "description": "the comment to create", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_", - "description": "the comment to create" + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "sort", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "$ref": "#/components/schemas/ApiSortDirection" + } + }, + { + "in": "query", + "name": "categories", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" } } } - } + ] } }, - "/api/v1/comments/dashboards/{dashboardUuid}": { + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/{tableName}/{metricName}": { "get": { - "operationId": "getComments", + "operationId": "getMetric", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetComments" + "$ref": "#/components/schemas/ApiGetMetricPeek" } } } @@ -425,16 +456,31 @@ } } }, - "description": "Gets all comments for a dashboard", + "description": "Get metric by table and metric name", "tags": [ - "Comments" + "Catalog" ], "security": [], "parameters": [ { - "description": "the uuid of the dashboard", "in": "path", - "name": "dashboardUuid", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "tableName", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "metricName", "required": true, "schema": { "type": "string" @@ -443,16 +489,16 @@ ] } }, - "/api/v1/comments/dashboards/{dashboardUuid}/{commentId}": { - "patch": { - "operationId": "resolveComment", + "/api/v1/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions": { + "get": { + "operationId": "getMetricsWithTimeDimensions", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiResolveComment" + "$ref": "#/components/schemas/ApiMetricsWithAssociatedTimeDimensionResponse" } } } @@ -468,41 +514,33 @@ } } }, - "description": "Resolves a comment on a dashboard", + "description": "Get metrics with time dimensions", "tags": [ - "Comments" + "Catalog" ], "security": [], "parameters": [ { - "description": "the uuid of the dashboard", - "in": "path", - "name": "dashboardUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "the uuid of the comment", "in": "path", - "name": "commentId", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } ] - }, - "delete": { - "operationId": "deleteComment", + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories": { + "post": { + "operationId": "addCategoryToCatalogItem", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiResolveComment" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -518,43 +556,60 @@ } } }, - "description": "Deletes a comment on a dashboard", "tags": [ - "Comments" + "Catalog" ], "security": [], "parameters": [ { - "description": "the uuid of the dashboard", "in": "path", - "name": "dashboardUuid", + "name": "catalogSearchUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "the uuid of the comment", - "in": "path", - "name": "commentId", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "tagUuid": { + "type": "string" + } + }, + "required": [ + "tagUuid" + ], + "type": "object" + } } } - ] + } } }, - "/api/v1/csv/{jobId}": { - "get": { - "operationId": "getCsvUrl", + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories/{tagUuid}": { + "delete": { + "operationId": "removeCategoryFromCatalogItem", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCsvUrlResponse" + "properties": { + "results": {}, + "status": { + "type": "string" + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -570,16 +625,22 @@ } } }, - "description": "Get a Csv", "tags": [ - "Exports" + "Catalog" ], "security": [], "parameters": [ { - "description": "the jobId for the CSV", "in": "path", - "name": "jobId", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "tagUuid", "required": true, "schema": { "type": "string" @@ -588,16 +649,16 @@ ] } }, - "/api/v1/dashboards/{dashboardUuid}/promote": { - "post": { - "operationId": "promoteDashboard", + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/icon": { + "patch": { + "operationId": "updateCatalogItemIcon", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPromoteDashboardResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -613,34 +674,63 @@ } } }, - "description": "Promote dashboard to its upstream project", "tags": [ - "Dashboards" + "Catalog" ], "security": [], "parameters": [ { - "description": "dashboardUuid for the dashboard to run", "in": "path", - "name": "dashboardUuid", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "catalogSearchUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "icon": { + "allOf": [ + { + "$ref": "#/components/schemas/CatalogItemIcon" + } + ], + "nullable": true + } + }, + "required": [ + "icon" + ], + "type": "object" + } + } + } + } } }, - "/api/v1/dashboards/{dashboardUuid}/promoteDiff": { + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree": { "get": { - "operationId": "promoteDashboardDiff", + "operationId": "getMetricsTree", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPromotionChangesResponse" + "$ref": "#/components/schemas/ApiGetMetricsTree" } } } @@ -656,27 +746,36 @@ } } }, - "description": "Get diff from dashboard to promote", "tags": [ - "Dashboards" + "Catalog" ], "security": [], "parameters": [ { - "description": "dashboardUuid for the dashboard to check diff", "in": "path", - "name": "dashboardUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } + }, + { + "in": "query", + "name": "metricUuids", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ] } }, - "/api/v1/projects/{projectUuid}/explores": { - "put": { - "operationId": "SetExplores", + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges": { + "post": { + "operationId": "createMetricsTreeEdge", "responses": { "200": { "description": "Success", @@ -700,7 +799,7 @@ } }, "tags": [ - "Projects" + "Catalog" ], "security": [], "parameters": [ @@ -718,38 +817,23 @@ "content": { "application/json": { "schema": { - "items": {}, - "type": "array" + "$ref": "#/components/schemas/ApiMetricsTreeEdgePayload" } } } } - }, - "get": { - "operationId": "GetExplores", + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges/{sourceCatalogSearchUuid}/{targetCatalogSearchUuid}": { + "delete": { + "operationId": "deleteMetricsTreeEdge", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiExploresResults" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -766,7 +850,7 @@ } }, "tags": [ - "Projects" + "Catalog" ], "security": [], "parameters": [ @@ -777,36 +861,36 @@ "schema": { "type": "string" } + }, + { + "in": "path", + "name": "sourceCatalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "targetCatalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } } ] } }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}": { - "get": { - "operationId": "GetExplore", + "/api/v1/comments/dashboards/{dashboardUuid}/{dashboardTileUuid}": { + "post": { + "operationId": "createComment", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/Explore" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiCreateComment" } } } @@ -822,56 +906,55 @@ } } }, + "description": "Creates a comment on a dashboard tile", "tags": [ - "Projects" + "Comments" ], "security": [], "parameters": [ { + "description": "the uuid of the dashboard", "in": "path", - "name": "exploreId", + "name": "dashboardUuid", "required": true, "schema": { "type": "string" } }, { + "description": "the uuid of the dashboard tile", "in": "path", - "name": "projectUuid", + "name": "dashboardTileUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "description": "the comment to create", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_", + "description": "the comment to create" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}/compileQuery": { - "post": { - "operationId": "CompileQuery", + "/api/v1/comments/dashboards/{dashboardUuid}": { + "get": { + "operationId": "getComments", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiCompiledQueryResults" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiGetComments" } } } @@ -887,74 +970,84 @@ } } }, + "description": "Gets all comments for a dashboard", "tags": [ - "Projects" + "Comments" ], "security": [], "parameters": [ { + "description": "the uuid of the dashboard", "in": "path", - "name": "exploreId", + "name": "dashboardUuid", "required": true, "schema": { "type": "string" } + } + ] + } + }, + "/api/v1/comments/dashboards/{dashboardUuid}/{commentId}": { + "patch": { + "operationId": "resolveComment", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResolveComment" + } + } + } }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Resolves a comment on a dashboard", + "tags": [ + "Comments" + ], + "security": [], + "parameters": [ { + "description": "the uuid of the dashboard", "in": "path", - "name": "projectUuid", + "name": "dashboardUuid", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/MetricQuery" - } + }, + { + "description": "the uuid of the comment", + "in": "path", + "name": "commentId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}/downloadCsv": { - "post": { - "operationId": "DownloadCsvFromExplore", + ] + }, + "delete": { + "operationId": "deleteComment", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "properties": { - "jobId": { - "type": "string" - } - }, - "required": [ - "jobId" - ], - "type": "object" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiResolveComment" } } } @@ -970,143 +1063,155 @@ } } }, + "description": "Deletes a comment on a dashboard", "tags": [ - "Projects" + "Comments" ], "security": [], "parameters": [ { + "description": "the uuid of the dashboard", "in": "path", - "name": "exploreId", + "name": "dashboardUuid", "required": true, "schema": { "type": "string" } }, { + "description": "the uuid of the comment", "in": "path", - "name": "projectUuid", + "name": "commentId", "required": true, "schema": { "type": "string" } } + ] + } + }, + "/api/v1/csv/{jobId}": { + "get": { + "operationId": "getCsvUrl", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiCsvUrlResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get a Csv", + "tags": [ + "Exports" ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/MetricQuery" - }, - { - "properties": { - "chartName": { - "type": "string" - }, - "hiddenFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "columnOrder": { - "items": { - "type": "string" - }, - "type": "array" - }, - "customLabels": { - "properties": {}, - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "showTableNames": { - "type": "boolean" - }, - "csvLimit": { - "type": "number", - "format": "double", - "nullable": true - }, - "onlyRaw": { - "type": "boolean" - } - }, - "required": [ - "columnOrder", - "showTableNames", - "onlyRaw" - ], - "type": "object" - } - ] - } + "security": [], + "parameters": [ + { + "description": "the jobId for the CSV", + "in": "path", + "name": "jobId", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/api/v1/github/install": { - "get": { - "operationId": "installGithubAppForOrganization", - "responses": { - "302": { - "description": "Not found" - } - }, - "description": "Install the Lightdash GitHub App and link to an organization", - "security": [], - "parameters": [] + ] } }, - "/api/v1/github/oauth/callback": { - "get": { - "operationId": "githubOauthCallback", + "/api/v1/dashboards/{dashboardUuid}/promote": { + "post": { + "operationId": "promoteDashboard", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiPromoteDashboardResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } } }, - "description": "Callback URL for GitHub App Authorization also used for GitHub App Installation with combined Authorization", + "description": "Promote dashboard to its upstream project", + "tags": [ + "Dashboards" + ], "security": [], "parameters": [ { - "description": "authorization code from GitHub", - "in": "query", - "name": "code", - "required": false, + "description": "dashboardUuid for the dashboard to run", + "in": "path", + "name": "dashboardUuid", + "required": true, "schema": { "type": "string" } - }, - { - "description": "oauth state parameter", - "in": "query", - "name": "state", - "required": false, - "schema": { - "type": "string" + } + ] + } + }, + "/api/v1/dashboards/{dashboardUuid}/promoteDiff": { + "get": { + "operationId": "promoteDashboardDiff", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiPromotionChangesResponse" + } + } } }, - { - "description": "installation id from GitHub", - "in": "query", - "name": "installation_id", - "required": false, - "schema": { - "type": "string" + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } } - }, + } + }, + "description": "Get diff from dashboard to promote", + "tags": [ + "Dashboards" + ], + "security": [], + "parameters": [ { - "description": "setup action from GitHub", - "in": "query", - "name": "setup_action", - "required": false, + "description": "dashboardUuid for the dashboard to check diff", + "in": "path", + "name": "dashboardUuid", + "required": true, "schema": { "type": "string" } @@ -1114,12 +1219,12 @@ ] } }, - "/api/v1/github/uninstall": { - "delete": { - "operationId": "uninstallGithubAppForOrganization", + "/api/v1/projects/{projectUuid}/explores": { + "put": { + "operationId": "SetExplores", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { @@ -1127,53 +1232,46 @@ } } } - } - }, - "security": [], - "parameters": [] - } - }, - "/api/v1/github/repos/list": { - "get": { - "operationId": "getGithubListRepositories", - "responses": { - "200": { - "description": "", + }, + "default": { + "description": "Error", "content": { "application/json": { "schema": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/GitRepo" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiErrorPayload" } } } } }, + "tags": [ + "Projects" + ], "security": [], - "parameters": [] - } - }, - "/api/v1/projects/{projectUuid}/git-integration": { + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "items": {}, + "type": "array" + } + } + } + } + }, "get": { - "operationId": "GetConfiguration", + "operationId": "GetExplores", "responses": { "200": { "description": "Success", @@ -1182,7 +1280,7 @@ "schema": { "properties": { "results": { - "$ref": "#/components/schemas/GitIntegrationConfiguration" + "$ref": "#/components/schemas/ApiExploresResults" }, "status": { "type": "string", @@ -1213,7 +1311,7 @@ } }, "tags": [ - "Git Integration" + "Projects" ], "security": [], "parameters": [ @@ -1228,9 +1326,9 @@ ] } }, - "/api/v1/projects/{projectUuid}/git-integration/pull-requests/chart/{chartUuid}/fields": { + "/api/v1/projects/{projectUuid}/explores/{exploreId}": { "get": { - "operationId": "CreatePullRequestForChartFields", + "operationId": "GetExplore", "responses": { "200": { "description": "Success", @@ -1239,7 +1337,7 @@ "schema": { "properties": { "results": { - "$ref": "#/components/schemas/PullRequestCreated" + "$ref": "#/components/schemas/Explore" }, "status": { "type": "string", @@ -1270,13 +1368,13 @@ } }, "tags": [ - "Git Integration" + "Projects" ], "security": [], "parameters": [ { "in": "path", - "name": "projectUuid", + "name": "exploreId", "required": true, "schema": { "type": "string" @@ -1284,7 +1382,7 @@ }, { "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -1293,9 +1391,9 @@ ] } }, - "/api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-metrics": { + "/api/v1/projects/{projectUuid}/explores/{exploreId}/compileQuery": { "post": { - "operationId": "CreatePullRequestForCustomMetrics", + "operationId": "CompileQuery", "responses": { "200": { "description": "Success", @@ -1304,7 +1402,7 @@ "schema": { "properties": { "results": { - "$ref": "#/components/schemas/PullRequestCreated" + "$ref": "#/components/schemas/ApiCompiledQueryResults" }, "status": { "type": "string", @@ -1335,60 +1433,73 @@ } }, "tags": [ - "Git Integration" + "Projects" ], "security": [], "parameters": [ { "in": "path", - "name": "projectUuid", + "name": "exploreId", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { + }, + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { "application/json": { "schema": { - "properties": { - "quoteChar": { - "type": "string", - "enum": [ - "\"", - "'" - ] - }, - "customMetrics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "quoteChar", - "customMetrics" - ], - "type": "object" + "$ref": "#/components/schemas/MetricQuery" } } } } } }, - "/api/v1/gdrive/get-access-token": { - "get": { - "operationId": "getAccessToken", + "/api/v1/projects/{projectUuid}/explores/{exploreId}/downloadCsv": { + "post": { + "operationId": "DownloadCsvFromExplore", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGdriveAccessTokenResponse" + "properties": { + "results": { + "properties": { + "jobId": { + "type": "string" + } + }, + "required": [ + "jobId" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -1404,121 +1515,159 @@ } } }, - "description": "Get access token for google drive", "tags": [ - "Integrations" + "Projects" ], "security": [], - "parameters": [] - } - }, - "/api/v1/gdrive/upload-gsheet": { - "post": { - "operationId": "uploadGsheet", - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiJobScheduledResponse" - } - } + "parameters": [ + { + "in": "path", + "name": "exploreId", + "required": true, + "schema": { + "type": "string" } }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" } } - }, - "description": "Upload results from query to Google Sheet", - "tags": [ - "Integrations" ], - "security": [], - "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UploadMetricGsheet" + "allOf": [ + { + "$ref": "#/components/schemas/MetricQuery" + }, + { + "properties": { + "pivotColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "chartName": { + "type": "string" + }, + "hiddenFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "customLabels": { + "properties": {}, + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "showTableNames": { + "type": "boolean" + }, + "csvLimit": { + "type": "number", + "format": "double", + "nullable": true + }, + "onlyRaw": { + "type": "boolean" + } + }, + "required": [ + "columnOrder", + "showTableNames", + "onlyRaw" + ], + "type": "object" + } + ] } } } } } }, - "/api/v1/groups/{groupUuid}": { + "/api/v1/github/install": { "get": { - "operationId": "getGroup", + "operationId": "installGithubAppForOrganization", "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiGroupResponse" - } - } - } - }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } - } + "302": { + "description": "Not found" } }, - "description": "Get group details", - "tags": [ - "User Groups" - ], + "description": "Install the Lightdash GitHub App and link to an organization", + "security": [], + "parameters": [] + } + }, + "/api/v1/github/oauth/callback": { + "get": { + "operationId": "githubOauthCallback", + "responses": { + "204": { + "description": "No content" + } + }, + "description": "Callback URL for GitHub App Authorization also used for GitHub App Installation with combined Authorization", "security": [], "parameters": [ { - "description": "unique id of the group", - "in": "path", - "name": "groupUuid", - "required": true, + "description": "authorization code from GitHub", + "in": "query", + "name": "code", + "required": false, "schema": { "type": "string" } }, { - "description": "number of members to include", + "description": "oauth state parameter", "in": "query", - "name": "includeMembers", + "name": "state", "required": false, "schema": { - "format": "double", - "type": "number" + "type": "string" } }, { - "description": "offset of members to include", + "description": "installation id from GitHub", "in": "query", - "name": "offset", + "name": "installation_id", "required": false, "schema": { - "format": "double", - "type": "number" + "type": "string" + } + }, + { + "description": "setup action from GitHub", + "in": "query", + "name": "setup_action", + "required": false, + "schema": { + "type": "string" } } ] - }, + } + }, + "/api/v1/github/uninstall": { "delete": { - "operationId": "deleteGroup", + "operationId": "uninstallGithubAppForOrganization", "responses": { "200": { "description": "Ok", @@ -1529,43 +1678,76 @@ } } } - }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } - } } }, - "description": "Delete a group", - "tags": [ - "User Groups" - ], "security": [], - "parameters": [ - { - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" + "parameters": [] + } + }, + "/api/v1/github/repos/list": { + "get": { + "operationId": "getGithubListRepositories", + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/GitRepo" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } } } - ] - }, - "patch": { - "operationId": "updateGroup", + }, + "security": [], + "parameters": [] + } + }, + "/api/v1/projects/{projectUuid}/git-integration": { + "get": { + "operationId": "GetConfiguration", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupResponse" + "properties": { + "results": { + "$ref": "#/components/schemas/GitIntegrationConfiguration" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -1581,43 +1763,48 @@ } } }, - "description": "Update a group", "tags": [ - "User Groups" + "Git Integration" ], "security": [], "parameters": [ { "in": "path", - "name": "groupUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateGroupWithMembers" - } - } - } - } + ] } }, - "/api/v1/groups/{groupUuid}/members/{userUuid}": { - "put": { - "operationId": "addUserToGroup", + "/api/v1/projects/{projectUuid}/git-integration/pull-requests/chart/{chartUuid}/fields": { + "get": { + "operationId": "CreatePullRequestForChartFields", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "properties": { + "results": { + "$ref": "#/components/schemas/PullRequestCreated" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -1633,41 +1820,56 @@ } } }, - "description": "Add a Lightdash user to a group", "tags": [ - "User Groups" + "Git Integration" ], "security": [], "parameters": [ { - "description": "the UUID for the group to add the user to", "in": "path", - "name": "groupUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } }, { - "description": "the UUID for the user to add to the group", "in": "path", - "name": "userUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" } } ] - }, - "delete": { - "operationId": "removeUserFromGroup", + } + }, + "/api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-metrics": { + "post": { + "operationId": "CreatePullRequestForCustomMetrics", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "properties": { + "results": { + "$ref": "#/components/schemas/PullRequestCreated" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -1683,43 +1885,61 @@ } } }, - "description": "Remove a user from a group", "tags": [ - "User Groups" + "Git Integration" ], "security": [], "parameters": [ { - "description": "the UUID for the group to remove the user from", "in": "path", - "name": "groupUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "the UUID for the user to remove from the group", - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "quoteChar": { + "type": "string", + "enum": [ + "\"", + "'" + ] + }, + "customMetrics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "quoteChar", + "customMetrics" + ], + "type": "object" + } } } - ] + } } }, - "/api/v1/groups/{groupUuid}/members": { + "/api/v1/gdrive/get-access-token": { "get": { - "operationId": "getGroupMembers", + "operationId": "getAccessToken", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupMembersResponse" + "$ref": "#/components/schemas/ApiGdriveAccessTokenResponse" } } } @@ -1735,34 +1955,24 @@ } } }, - "description": "View members of a group", + "description": "Get access token for google drive", "tags": [ - "User Groups" + "Integrations" ], "security": [], - "parameters": [ - { - "description": "the UUID for the group to view the members of", - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/api/v1/groups/{groupUuid}/projects/{projectUuid}": { + "/api/v1/gdrive/upload-gsheet": { "post": { - "operationId": "addProjectAccessToGroup", + "operationId": "uploadGsheet", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCreateProjectGroupAccess" + "$ref": "#/components/schemas/ApiJobScheduledResponse" } } } @@ -1778,49 +1988,34 @@ } } }, - "description": "Add project access to a group", + "description": "Upload results from query to Google Sheet", "tags": [ - "User Groups" + "Integrations" ], "security": [], - "parameters": [ - { - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Pick_CreateDBProjectGroupAccess.role_" + "$ref": "#/components/schemas/UploadMetricGsheet" } } } } - }, - "patch": { - "operationId": "updateProjectAccessForGroup", + } + }, + "/api/v1/groups/{groupUuid}": { + "get": { + "operationId": "getGroup", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiUpdateProjectGroupAccess" + "$ref": "#/components/schemas/ApiGroupResponse" } } } @@ -1836,13 +2031,14 @@ } } }, - "description": "Update project access for a group", + "description": "Get group details", "tags": [ "User Groups" ], "security": [], "parameters": [ { + "description": "unique id of the group", "in": "path", "name": "groupUuid", "required": true, @@ -1851,27 +2047,29 @@ } }, { - "in": "path", - "name": "projectUuid", - "required": true, + "description": "number of members to include", + "in": "query", + "name": "includeMembers", + "required": false, "schema": { - "type": "string" + "format": "double", + "type": "number" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Pick_DBProjectGroupAccess.role_" - } + }, + { + "description": "offset of members to include", + "in": "query", + "name": "offset", + "required": false, + "schema": { + "format": "double", + "type": "number" } } - } + ] }, "delete": { - "operationId": "removeProjectAccessFromGroup", + "operationId": "deleteGroup", "responses": { "200": { "description": "Ok", @@ -1894,7 +2092,7 @@ } } }, - "description": "Remove project access from a group", + "description": "Delete a group", "tags": [ "User Groups" ], @@ -1907,28 +2105,18 @@ "schema": { "type": "string" } - }, - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } } ] - } - }, - "/api/v1/notifications": { - "get": { - "operationId": "getNotifications", + }, + "patch": { + "operationId": "updateGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetNotifications" + "$ref": "#/components/schemas/ApiGroupResponse" } } } @@ -1944,29 +2132,39 @@ } } }, - "description": "Gets notifications for a user based on the type", + "description": "Update a group", "tags": [ - "Notifications" + "User Groups" ], "security": [], "parameters": [ { - "in": "query", - "name": "type", + "in": "path", + "name": "groupUuid", "required": true, "schema": { - "$ref": "#/components/schemas/ApiNotificationResourceType" + "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateGroupWithMembers" + } + } + } + } } }, - "/api/v1/notifications/{notificationId}": { - "patch": { - "operationId": "updateNotification", + "/api/v1/groups/{groupUuid}/members/{userUuid}": { + "put": { + "operationId": "addUserToGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { @@ -1986,44 +2184,41 @@ } } }, - "description": "Update notification", + "description": "Add a Lightdash user to a group", "tags": [ - "Notifications" + "User Groups" ], "security": [], "parameters": [ { - "description": "the id of the notification", + "description": "the UUID for the group to add the user to", "in": "path", - "name": "notificationId", + "name": "groupUuid", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Pick_Notification.viewed_" - } + }, + { + "description": "the UUID for the user to add to the group", + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" } } - } - } - }, - "/api/v1/org": { - "get": { - "operationId": "GetMyOrganization", + ] + }, + "delete": { + "operationId": "removeUserFromGroup", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganization" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2039,22 +2234,43 @@ } } }, - "description": "Get the current user's organization", + "description": "Remove a user from a group", "tags": [ - "Organizations" + "User Groups" ], "security": [], - "parameters": [] - }, - "put": { - "operationId": "CreateOrganization", + "parameters": [ + { + "description": "the UUID for the group to remove the user from", + "in": "path", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the UUID for the user to remove from the group", + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/groups/{groupUuid}/members": { + "get": { + "operationId": "getGroupMembers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGroupMembersResponse" } } } @@ -2070,34 +2286,34 @@ } } }, - "description": "Creates a new organization, the current user becomes the Admin of the new organization.\nThis is only available to users that are not already in an organization.", + "description": "View members of a group", "tags": [ - "Organizations" + "User Groups" ], "security": [], - "parameters": [], - "requestBody": { - "description": "the new organization settings", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Pick_Organization.name_", - "description": "the new organization settings" - } + "parameters": [ + { + "description": "the UUID for the group to view the members of", + "in": "path", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" } } - } - }, - "patch": { - "operationId": "UpdateMyOrganization", + ] + } + }, + "/api/v1/groups/{groupUuid}/projects/{projectUuid}": { + "post": { + "operationId": "addProjectAccessToGroup", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiCreateProjectGroupAccess" } } } @@ -2113,36 +2329,49 @@ } } }, - "description": "Update the current user's organization", + "description": "Add project access to a group", "tags": [ - "Organizations" + "User Groups" ], "security": [], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { - "description": "the new organization settings", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__", - "description": "the new organization settings" + "$ref": "#/components/schemas/Pick_CreateDBProjectGroupAccess.role_" } } } } - } - }, - "/api/v1/org/{organizationUuid}": { - "delete": { - "operationId": "DeleteMyOrganization", + }, + "patch": { + "operationId": "updateProjectAccessForGroup", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiUpdateProjectGroupAccess" } } } @@ -2158,34 +2387,49 @@ } } }, - "description": "Deletes an organization and all users inside that organization", + "description": "Update project access for a group", "tags": [ - "Organizations" + "User Groups" ], "security": [], "parameters": [ { - "description": "the uuid of the organization to delete", "in": "path", - "name": "organizationUuid", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } - ] - } - }, - "/api/v1/org/projects": { - "get": { - "operationId": "ListOrganizationProjects", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pick_DBProjectGroupAccess.role_" + } + } + } + } + }, + "delete": { + "operationId": "removeProjectAccessFromGroup", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationProjects" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2201,24 +2445,41 @@ } } }, - "description": "Gets all projects of the current user's organization", + "description": "Remove project access from a group", "tags": [ - "Organizations" + "User Groups" ], "security": [], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/api/v1/org/users": { - "get": { - "operationId": "ListOrganizationMembers", + "/api/v1/projects/{projectUuid}/metricsExplorer/{explore}/{metric}/runMetricExplorerQuery": { + "post": { + "operationId": "runMetricExplorerQuery", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationMemberProfiles" + "$ref": "#/components/schemas/ApiMetricsExplorerQueryResults" } } } @@ -2234,60 +2495,91 @@ } } }, - "description": "Gets all the members of the current user's organization", + "description": "Run a metrics explorer query", "tags": [ - "Organizations" + "Metrics Explorer", + "Metrics", + "Explorer" ], "security": [], "parameters": [ { - "in": "query", - "name": "includeGroups", - "required": false, + "description": "The project UUID", + "in": "path", + "name": "projectUuid", + "required": true, "schema": { - "format": "double", - "type": "number" + "type": "string" } }, { - "in": "query", - "name": "pageSize", - "required": false, + "description": "The explore name", + "in": "path", + "name": "explore", + "required": true, "schema": { - "format": "double", - "type": "number" + "type": "string" + } + }, + { + "description": "The metric name", + "in": "path", + "name": "metric", + "required": true, + "schema": { + "type": "string" } }, { "in": "query", - "name": "page", - "required": false, + "name": "startDate", + "required": true, "schema": { - "format": "double", - "type": "number" + "type": "string" } }, { "in": "query", - "name": "searchQuery", - "required": false, + "name": "endDate", + "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "comparison": { + "$ref": "#/components/schemas/MetricExplorerComparisonType" + }, + "timeDimensionOverride": { + "$ref": "#/components/schemas/TimeDimensionConfig" + } + }, + "required": [ + "comparison" + ], + "type": "object" + } + } + } + } } }, - "/api/v1/org/users/{userUuid}": { + "/api/v1/notifications": { "get": { - "operationId": "GetOrganizationMemberByUuid", + "operationId": "getNotifications", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationMemberProfile" + "$ref": "#/components/schemas/ApiGetNotifications" } } } @@ -2303,32 +2595,33 @@ } } }, - "description": "Get the member profile for a user in the current user's organization by uuid", + "description": "Gets notifications for a user based on the type", "tags": [ - "Organizations" + "Notifications" ], "security": [], "parameters": [ { - "description": "the uuid of the user", - "in": "path", - "name": "userUuid", + "in": "query", + "name": "type", "required": true, "schema": { - "$ref": "#/components/schemas/UUID" + "$ref": "#/components/schemas/ApiNotificationResourceType" } } ] - }, + } + }, + "/api/v1/notifications/{notificationId}": { "patch": { - "operationId": "UpdateOrganizationMember", + "operationId": "updateNotification", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationMemberProfile" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2344,17 +2637,16 @@ } } }, - "description": "Updates the membership profile for a user in the current user's organization", + "description": "Update notification", "tags": [ - "Roles & Permissions", - "Organizations" + "Notifications" ], "security": [], "parameters": [ { - "description": "the uuid of the user to update", + "description": "the id of the notification", "in": "path", - "name": "userUuid", + "name": "notificationId", "required": true, "schema": { "type": "string" @@ -2362,29 +2654,27 @@ } ], "requestBody": { - "description": "the new membership profile", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OrganizationMemberProfileUpdate", - "description": "the new membership profile" + "$ref": "#/components/schemas/Pick_Notification.viewed_" } } } } } }, - "/api/v1/org/user/{userUuid}": { - "delete": { - "operationId": "DeleteOrganizationMember", + "/api/v1/org": { + "get": { + "operationId": "GetMyOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiOrganization" } } } @@ -2400,34 +2690,22 @@ } } }, - "description": "Deletes a user from the current user's organization", + "description": "Get the current user's organization", "tags": [ "Organizations" ], "security": [], - "parameters": [ - { - "description": "the uuid of the user to delete", - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/api/v1/org/allowedEmailDomains": { - "get": { - "operationId": "ListOrganizationEmailDomains", + "parameters": [] + }, + "put": { + "operationId": "CreateOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2443,22 +2721,34 @@ } } }, - "description": "Gets the allowed email domains for the current user's organization", + "description": "Creates a new organization, the current user becomes the Admin of the new organization.\nThis is only available to users that are not already in an organization.", "tags": [ "Organizations" ], "security": [], - "parameters": [] + "parameters": [], + "requestBody": { + "description": "the new organization settings", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pick_Organization.name_", + "description": "the new organization settings" + } + } + } + } }, "patch": { - "operationId": "UpdateOrganizationEmailDomains", + "operationId": "UpdateMyOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2474,36 +2764,36 @@ } } }, - "description": "Updates the allowed email domains for the current user's organization", + "description": "Update the current user's organization", "tags": [ "Organizations" ], "security": [], "parameters": [], "requestBody": { - "description": "the new allowed email domains", + "description": "the new organization settings", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__", - "description": "the new allowed email domains" + "$ref": "#/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__", + "description": "the new organization settings" } } } } } }, - "/api/v1/org/groups": { - "post": { - "operationId": "CreateGroupInOrganization", + "/api/v1/org/{organizationUuid}": { + "delete": { + "operationId": "DeleteMyOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2519,34 +2809,34 @@ } } }, - "description": "Creates a new group in the current user's organization", + "description": "Deletes an organization and all users inside that organization", "tags": [ "Organizations" ], "security": [], - "parameters": [], - "requestBody": { - "description": "the new group details", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateGroup", - "description": "the new group details" - } + "parameters": [ + { + "description": "the uuid of the organization to delete", + "in": "path", + "name": "organizationUuid", + "required": true, + "schema": { + "type": "string" } } - } - }, + ] + } + }, + "/api/v1/org/projects": { "get": { - "operationId": "ListGroupsInOrganization", + "operationId": "ListOrganizationProjects", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupListResponse" + "$ref": "#/components/schemas/ApiOrganizationProjects" } } } @@ -2562,35 +2852,24 @@ } } }, - "description": "Gets all the groups in the current user's organization", + "description": "Gets all projects of the current user's organization", "tags": [ "Organizations" ], "security": [], - "parameters": [ - { - "description": "number of members to include", - "in": "query", - "name": "includeMembers", - "required": false, - "schema": { - "format": "double", - "type": "number" - } - } - ] + "parameters": [] } }, - "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items": { + "/api/v1/org/users": { "get": { - "operationId": "getPinnedItems", + "operationId": "ListOrganizationMembers", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPinnedItems" + "$ref": "#/components/schemas/ApiOrganizationMemberProfiles" } } } @@ -2606,26 +2885,52 @@ } } }, - "description": "Get pinned items", + "description": "Gets all the members of the current user's organization", "tags": [ - "Content" + "Organizations" ], "security": [], "parameters": [ { - "description": "project uuid", - "in": "path", - "name": "projectUuid", - "required": true, + "in": "query", + "name": "includeGroups", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "searchQuery", + "required": false, "schema": { "type": "string" } }, { - "description": "the list uuid for the pinned items", - "in": "path", - "name": "pinnedListUuid", - "required": true, + "description": "filter users who can view this project", + "in": "query", + "name": "projectUuid", + "required": false, "schema": { "type": "string" } @@ -2633,16 +2938,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items/order": { - "patch": { - "operationId": "updatePinnedItemsOrder", + "/api/v1/org/users/{userUuid}": { + "get": { + "operationId": "GetOrganizationMemberByUuid", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPinnedItems" + "$ref": "#/components/schemas/ApiOrganizationMemberProfile" } } } @@ -2658,58 +2963,32 @@ } } }, - "description": "Update pinned items order", + "description": "Get the member profile for a user in the current user's organization by uuid", "tags": [ - "Content" + "Organizations" ], "security": [], "parameters": [ { - "description": "project uuid", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "the list uuid for the pinned items", + "description": "the uuid of the user", "in": "path", - "name": "pinnedListUuid", + "name": "userUuid", "required": true, "schema": { - "type": "string" - } - } - ], - "requestBody": { - "description": "the new order of the pinned items", - "required": true, - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/UpdatePinnedItemOrder" - }, - "type": "array", - "description": "the new order of the pinned items" - } + "$ref": "#/components/schemas/UUID" } } - } - } - }, - "/api/v1/projects/{projectUuid}": { - "get": { - "operationId": "GetProject", + ] + }, + "patch": { + "operationId": "UpdateOrganizationMember", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiProjectResponse" + "$ref": "#/components/schemas/ApiOrganizationMemberProfile" } } } @@ -2725,33 +3004,47 @@ } } }, - "description": "Get a project of an organiztion", + "description": "Updates the membership profile for a user in the current user's organization", "tags": [ - "Projects" + "Roles & Permissions", + "Organizations" ], "security": [], "parameters": [ { + "description": "the uuid of the user to update", "in": "path", - "name": "projectUuid", + "name": "userUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "description": "the new membership profile", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OrganizationMemberProfileUpdate", + "description": "the new membership profile" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/charts": { - "get": { - "operationId": "ListChartsInProject", + "/api/v1/org/user/{userUuid}": { + "delete": { + "operationId": "DeleteOrganizationMember", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiChartListResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -2767,16 +3060,16 @@ } } }, - "description": "List all charts in a project", + "description": "Deletes a user from the current user's organization", "tags": [ - "Projects" + "Organizations" ], "security": [], "parameters": [ { - "description": "The uuid of the project to get charts for", + "description": "the uuid of the user to delete", "in": "path", - "name": "projectUuid", + "name": "userUuid", "required": true, "schema": { "type": "string" @@ -2785,16 +3078,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/chart-summaries": { + "/api/v1/org/allowedEmailDomains": { "get": { - "operationId": "ListChartSummariesInProject", + "operationId": "ListOrganizationEmailDomains", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiChartSummaryListResponse" + "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" } } } @@ -2810,34 +3103,22 @@ } } }, - "description": "List all charts summaries in a project", + "description": "Gets the allowed email domains for the current user's organization", "tags": [ - "Projects" + "Organizations" ], "security": [], - "parameters": [ - { - "description": "The uuid of the project to get charts for", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/api/v1/projects/{projectUuid}/spaces": { - "get": { - "operationId": "ListSpacesInProject", + "parameters": [] + }, + "patch": { + "operationId": "UpdateOrganizationEmailDomains", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSpaceSummaryListResponse" + "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" } } } @@ -2853,32 +3134,36 @@ } } }, - "description": "List all spaces in a project", + "description": "Updates the allowed email domains for the current user's organization", "tags": [ - "Projects" + "Organizations" ], "security": [], - "parameters": [ - { - "description": "The uuid of the project to get spaces for", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "description": "the new allowed email domains", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__", + "description": "the new allowed email domains" + } } } - ] - }, + } + } + }, + "/api/v1/org/groups": { "post": { - "operationId": "CreateSpaceInProject", + "operationId": "CreateGroupInOrganization", "responses": { "200": { - "description": "Created", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSpaceResponse" + "$ref": "#/components/schemas/ApiCreateGroupResponse" } } } @@ -2894,45 +3179,34 @@ } } }, - "description": "Create a new space inside a project", + "description": "Creates a new group in the current user's organization", "tags": [ - "Roles & Permissions", - "Spaces" + "Organizations" ], "security": [], - "parameters": [ - { - "description": "The uuid of the space's parent project", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { + "description": "the new group details", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSpace" + "$ref": "#/components/schemas/CreateGroup", + "description": "the new group details" } } } } - } - }, - "/api/v1/projects/{projectUuid}/access": { + }, "get": { - "operationId": "GetProjectAccessList", + "operationId": "ListGroupsInOrganization", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiProjectAccessListResponse" + "$ref": "#/components/schemas/ApiGroupListResponse" } } } @@ -2948,32 +3222,113 @@ } } }, - "description": "Get access list for a project. This is a list of users that have been explictly granted access to the project.\nThere may be other users that have access to the project via their organization membership.", + "description": "Gets all the groups in the current user's organization", "tags": [ - "Roles & Permissions", - "Projects" + "Organizations" + ], + "security": [], + "parameters": [ + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "number of members to include", + "in": "query", + "name": "includeMembers", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "searchQuery", + "required": false, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items": { + "get": { + "operationId": "getPinnedItems", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiPinnedItems" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get pinned items", + "tags": [ + "Content" ], "security": [], "parameters": [ { + "description": "project uuid", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } + }, + { + "description": "the list uuid for the pinned items", + "in": "path", + "name": "pinnedListUuid", + "required": true, + "schema": { + "type": "string" + } } ] - }, - "post": { - "operationId": "GrantProjectAccessToUser", + } + }, + "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items/order": { + "patch": { + "operationId": "updatePinnedItemsOrder", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiPinnedItems" } } } @@ -2989,44 +3344,58 @@ } } }, - "description": "Grant a user access to a project", + "description": "Update pinned items order", "tags": [ - "Roles & Permissions", - "Projects" + "Content" ], "security": [], "parameters": [ { + "description": "project uuid", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } + }, + { + "description": "the list uuid for the pinned items", + "in": "path", + "name": "pinnedListUuid", + "required": true, + "schema": { + "type": "string" + } } ], "requestBody": { + "description": "the new order of the pinned items", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateProjectMember" + "items": { + "$ref": "#/components/schemas/UpdatePinnedItemOrder" + }, + "type": "array", + "description": "the new order of the pinned items" } } } } } }, - "/api/v1/projects/{projectUuid}/user/{userUuid}": { + "/api/v1/projects/{projectUuid}": { "get": { - "operationId": "GetProjectMemberAccess", + "operationId": "GetProject", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetProjectMemberResponse" + "$ref": "#/components/schemas/ApiProjectResponse" } } } @@ -3042,9 +3411,8 @@ } } }, - "description": "Get a project explicit member's access.\nThere may be users that have access to the project via their organization membership.\n\nNOTE:\nWe don't use the API on the frontend. Instead, we can call the API\nso that we make sure of the user's access to the project.", + "description": "Get a project of an organiztion", "tags": [ - "Roles & Permissions", "Projects" ], "security": [], @@ -3056,28 +3424,20 @@ "schema": { "type": "string" } - }, - { - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" - } } ] } }, - "/api/v1/projects/{projectUuid}/access/{userUuid}": { - "patch": { - "operationId": "UpdateProjectAccessForUser", + "/api/v1/projects/{projectUuid}/charts": { + "get": { + "operationId": "ListChartsInProject", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiChartListResponse" } } } @@ -3093,50 +3453,34 @@ } } }, - "description": "Update a user's access to a project", + "description": "List all charts in a project", "tags": [ - "Roles & Permissions", "Projects" ], "security": [], "parameters": [ { + "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateProjectMember" - } - } } - } - }, - "delete": { - "operationId": "RevokeProjectAccessForUser", + ] + } + }, + "/api/v1/projects/{projectUuid}/chart-summaries": { + "get": { + "operationId": "ListChartSummariesInProject", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiChartSummaryListResponse" } } } @@ -3152,14 +3496,14 @@ } } }, - "description": "Remove a user's access to a project", + "description": "List all charts summaries in a project", "tags": [ - "Roles & Permissions", "Projects" ], "security": [], "parameters": [ { + "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, @@ -3168,26 +3512,27 @@ } }, { - "in": "path", - "name": "userUuid", - "required": true, + "description": "Whether to exclude charts that are saved in dashboards", + "in": "query", + "name": "excludeChartsSavedInDashboard", + "required": false, "schema": { - "type": "string" + "type": "boolean" } } ] } }, - "/api/v1/projects/{projectUuid}/groupAccesses": { + "/api/v1/projects/{projectUuid}/spaces": { "get": { - "operationId": "GetProjectGroupAccesses", + "operationId": "ListSpacesInProject", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetProjectGroupAccesses" + "$ref": "#/components/schemas/ApiSpaceSummaryListResponse" } } } @@ -3203,13 +3548,14 @@ } } }, - "description": "List group access for projects", + "description": "List all spaces in a project", "tags": [ "Projects" ], "security": [], "parameters": [ { + "description": "The uuid of the project to get spaces for", "in": "path", "name": "projectUuid", "required": true, @@ -3218,34 +3564,16 @@ } } ] - } - }, - "/api/v1/projects/{projectUuid}/sqlQuery": { + }, "post": { - "operationId": "RunSqlQuery", + "operationId": "CreateSpaceInProject", "responses": { "200": { - "description": "Success", + "description": "Created", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiSqlQueryResults" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiSpaceResponse" } } } @@ -3261,15 +3589,15 @@ } } }, - "description": "Run a raw sql query against the project's warehouse connection", + "description": "Create a new space inside a project", "tags": [ - "Exploring", - "Projects" + "Roles & Permissions", + "Spaces" ], "security": [], "parameters": [ { - "description": "The uuid of the project to run the query against", + "description": "The uuid of the space's parent project", "in": "path", "name": "projectUuid", "required": true, @@ -3279,37 +3607,27 @@ } ], "requestBody": { - "description": "The query to run", "required": true, "content": { "application/json": { "schema": { - "properties": { - "sql": { - "type": "string" - } - }, - "required": [ - "sql" - ], - "type": "object", - "description": "The query to run" + "$ref": "#/components/schemas/CreateSpace" } } } } } }, - "/api/v1/projects/{projectUuid}/calculate-total": { - "post": { - "operationId": "CalculateTotalFromQuery", + "/api/v1/projects/{projectUuid}/access": { + "get": { + "operationId": "GetProjectAccessList", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCalculateTotalResponse" + "$ref": "#/components/schemas/ApiProjectAccessListResponse" } } } @@ -3325,14 +3643,14 @@ } } }, - "description": "Calculate all metric totals from a metricQuery", + "description": "Get access list for a project. This is a list of users that have been explictly granted access to the project.\nThere may be other users that have access to the project via their organization membership.", "tags": [ + "Roles & Permissions", "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, @@ -3340,46 +3658,17 @@ "type": "string" } } - ], - "requestBody": { - "description": "The metric query to calculate totals for", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculateTotalFromQuery", - "description": "The metric query to calculate totals for" - } - } - } - } - } - }, - "/api/v1/projects/{projectUuid}/user-credentials": { - "get": { - "operationId": "getUserWarehouseCredentialsPreference", + ] + }, + "post": { + "operationId": "GrantProjectAccessToUser", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/UserWarehouseCredentials" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -3395,7 +3684,9 @@ } } }, + "description": "Grant a user access to a project", "tags": [ + "Roles & Permissions", "Projects" ], "security": [], @@ -3408,19 +3699,29 @@ "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateProjectMember" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/user-credentials/{userWarehouseCredentialsUuid}": { - "patch": { - "operationId": "updateUserWarehouseCredentialsPreference", + "/api/v1/projects/{projectUuid}/user/{userUuid}": { + "get": { + "operationId": "GetProjectMemberAccess", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGetProjectMemberResponse" } } } @@ -3436,7 +3737,9 @@ } } }, + "description": "Get a project explicit member's access.\nThere may be users that have access to the project via their organization membership.\n\nNOTE:\nWe don't use the API on the frontend. Instead, we can call the API\nso that we make sure of the user's access to the project.", "tags": [ + "Roles & Permissions", "Projects" ], "security": [], @@ -3451,7 +3754,7 @@ }, { "in": "path", - "name": "userWarehouseCredentialsUuid", + "name": "userUuid", "required": true, "schema": { "type": "string" @@ -3460,63 +3763,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/custom-metrics": { - "get": { - "operationId": "getCustomMetrics", + "/api/v1/projects/{projectUuid}/access/{userUuid}": { + "patch": { + "operationId": "UpdateProjectAccessForUser", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "items": { - "properties": { - "chartUrl": { - "type": "string" - }, - "chartLabel": { - "type": "string" - }, - "yml": { - "type": "string" - }, - "modelName": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "chartUrl", - "chartLabel", - "yml", - "modelName", - "label", - "name" - ], - "type": "object" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -3532,7 +3788,9 @@ } } }, + "description": "Update a user's access to a project", "tags": [ + "Roles & Permissions", "Projects" ], "security": [], @@ -3544,13 +3802,29 @@ "schema": { "type": "string" } + }, + { + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" + } } - ] - } - }, - "/api/v1/projects/{projectUuid}/metadata": { - "patch": { - "operationId": "updateProjectMetadata", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateProjectMember" + } + } + } + } + }, + "delete": { + "operationId": "RevokeProjectAccessForUser", "responses": { "200": { "description": "Success", @@ -3573,8 +3847,9 @@ } } }, - "description": "Update project metadata like upstreamProjectUuid\nwe don't trigger a compile, so not for updating warehouse or credentials", + "description": "Remove a user's access to a project", "tags": [ + "Roles & Permissions", "Projects" ], "security": [], @@ -3586,30 +3861,28 @@ "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateMetadata" - } + }, + { + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/api/v1/projects/{projectUuid}/semantic-layer-connection": { - "patch": { - "operationId": "updateProjectSemanticLayerConnection", + "/api/v1/projects/{projectUuid}/groupAccesses": { + "get": { + "operationId": "GetProjectGroupAccesses", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGetProjectGroupAccesses" } } } @@ -3625,6 +3898,7 @@ } } }, + "description": "List group access for projects", "tags": [ "Projects" ], @@ -3638,29 +3912,35 @@ "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SemanticLayerConnection" - } - } - } - } + ] } }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}/runUnderlyingDataQuery": { + "/api/v1/projects/{projectUuid}/sqlQuery": { "post": { - "operationId": "postRunUnderlyingDataQuery", + "operationId": "RunSqlQuery", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiRunQueryResponse" + "properties": { + "results": { + "$ref": "#/components/schemas/ApiSqlQueryResults" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -3676,55 +3956,55 @@ } } }, - "description": "Run a query for underlying data results", + "description": "Run a raw sql query against the project's warehouse connection", "tags": [ - "Exploring" + "Exploring", + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the project", + "description": "The uuid of the project to run the query against", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "table name", - "in": "path", - "name": "exploreId", - "required": true, - "schema": { - "type": "string" - } } ], "requestBody": { - "description": "metricQuery for the chart to run", + "description": "The query to run", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricQueryRequest", - "description": "metricQuery for the chart to run" + "properties": { + "sql": { + "type": "string" + } + }, + "required": [ + "sql" + ], + "type": "object", + "description": "The query to run" } } } } } }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}/runQuery": { + "/api/v1/projects/{projectUuid}/calculate-total": { "post": { - "operationId": "RunMetricQuery", + "operationId": "CalculateTotalFromQuery", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiRunQueryResponse" + "$ref": "#/components/schemas/ApiCalculateTotalResponse" } } } @@ -3740,55 +4020,61 @@ } } }, - "description": "Run a query for explore", + "description": "Calculate all metric totals from a metricQuery", "tags": [ - "Exploring" + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the project", + "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "table name", - "in": "path", - "name": "exploreId", - "required": true, - "schema": { - "type": "string" - } } ], "requestBody": { - "description": "metricQuery for the chart to run", + "description": "The metric query to calculate totals for", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricQueryRequest", - "description": "metricQuery for the chart to run" + "$ref": "#/components/schemas/CalculateTotalFromQuery", + "description": "The metric query to calculate totals for" } } } } } }, - "/api/v1/saved/{chartUuid}/results": { - "post": { - "operationId": "PostChartResults", + "/api/v1/projects/{projectUuid}/user-credentials": { + "get": { + "operationId": "getUserWarehouseCredentialsPreference", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiRunQueryResponse" + "properties": { + "results": { + "$ref": "#/components/schemas/UserWarehouseCredentials" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "status" + ], + "type": "object" } } } @@ -3804,49 +4090,32 @@ } } }, - "description": "Run a query for a chart", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart to run", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "invalidateCache": { - "type": "boolean" - } - }, - "type": "object" - } - } - } - } + ] } }, - "/api/v1/saved/{chartUuid}/chart-and-results": { - "post": { - "operationId": "PostDashboardTile", + "/api/v1/projects/{projectUuid}/user-credentials/{userWarehouseCredentialsUuid}": { + "patch": { + "operationId": "updateUserWarehouseCredentialsPreference", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiRunQueryResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -3863,67 +4132,86 @@ } }, "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "autoRefresh": { - "type": "boolean" - }, - "granularity": { - "$ref": "#/components/schemas/DateGranularity" - }, - "dashboardUuid": { - "type": "string" - }, - "dashboardSorts": { - "items": { - "$ref": "#/components/schemas/SortField" - }, - "type": "array" - }, - "invalidateCache": { - "type": "boolean" - }, - "dashboardFilters": {} - }, - "required": [ - "dashboardUuid", - "dashboardSorts", - "dashboardFilters" - ], - "type": "object" - } + }, + { + "in": "path", + "name": "userWarehouseCredentialsUuid", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/api/v1/saved/{chartUuid}/history": { + "/api/v1/projects/{projectUuid}/custom-metrics": { "get": { - "operationId": "GetChartHistory", + "operationId": "getCustomMetrics", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetChartHistoryResponse" + "properties": { + "results": { + "items": { + "properties": { + "chartUrl": { + "type": "string" + }, + "chartLabel": { + "type": "string" + }, + "yml": { + "type": "string" + }, + "modelName": { + "type": "string" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "chartUrl", + "chartLabel", + "yml", + "modelName", + "label", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -3939,16 +4227,14 @@ } } }, - "description": "Get chart version history from last 30 days", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -3957,16 +4243,16 @@ ] } }, - "/api/v1/saved/{chartUuid}/version/{versionUuid}": { - "get": { - "operationId": "GetChartVersion", + "/api/v1/projects/{projectUuid}/metadata": { + "patch": { + "operationId": "updateProjectMetadata", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetChartVersionResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -3982,43 +4268,43 @@ } } }, - "description": "Get chart version", + "description": "Update project metadata like upstreamProjectUuid\nwe don't trigger a compile, so not for updating warehouse or credentials", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "versionUuid for the chart version", - "in": "path", - "name": "versionUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateMetadata" + } } } - ] + } } }, - "/api/v1/saved/{chartUuid}/version/{versionUuid}/results": { - "post": { - "operationId": "getChartVersionResults", + "/api/v1/projects/{projectUuid}/semantic-layer-connection": { + "patch": { + "operationId": "updateProjectSemanticLayerConnection", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiRunQueryResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -4034,36 +4320,33 @@ } } }, - "description": "Run a query for a chart version", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart to run", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "versionUuid for the chart version", - "in": "path", - "name": "versionUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticLayerConnectionUpdate" + } } } - ] - } - }, - "/api/v1/saved/{chartUuid}/rollback/{versionUuid}": { - "post": { - "operationId": "postChartVersionRollback", + } + }, + "delete": { + "operationId": "deleteProjectSemanticLayerConnection", "responses": { "200": { "description": "Success", @@ -4086,25 +4369,14 @@ } } }, - "description": "Rollback chart to version", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart to run", "in": "path", - "name": "chartUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "versionUuid for the chart version", - "in": "path", - "name": "versionUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -4113,16 +4385,16 @@ ] } }, - "/api/v1/saved/{chartUuid}/calculate-total": { - "post": { - "operationId": "CalculateTotalFromSavedChart", + "/api/v1/projects/{projectUuid}/dashboards": { + "get": { + "operationId": "getDashboards", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCalculateTotalResponse" + "$ref": "#/components/schemas/ApiGetDashboardsResponse" } } } @@ -4138,50 +4410,30 @@ } } }, - "description": "Calculate metric totals from a saved chart", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart to run", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "invalidateCache": { - "type": "boolean" - }, - "dashboardFilters": {} - }, - "type": "object" - } - } - } - } - } - }, - "/api/v1/saved/{chartUuid}/promote": { + ] + }, "post": { - "operationId": "promoteChart", + "operationId": "createDashboard", "responses": { - "200": { - "description": "Success", + "201": { + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPromoteChartResponse" + "$ref": "#/components/schemas/ApiCreateDashboardResponse" } } } @@ -4197,34 +4449,55 @@ } } }, - "description": "Promote chart to its upstream project", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart to run", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } + }, + { + "in": "query", + "name": "duplicateFrom", + "required": false, + "schema": { + "type": "string" + } } - ] - } - }, - "/api/v1/saved/{chartUuid}/promoteDiff": { - "get": { - "operationId": "promoteChartDiff", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "#/components/schemas/DuplicateDashboardParams" + }, + { + "$ref": "#/components/schemas/CreateDashboard" + } + ] + } + } + } + } + }, + "patch": { + "operationId": "updateDashboards", "responses": { "200": { - "description": "Success", + "description": "Updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPromotionChangesResponse" + "$ref": "#/components/schemas/ApiUpdateDashboardsResponse" } } } @@ -4240,34 +4513,61 @@ } } }, - "description": "Get diff from chart to promote", "tags": [ - "Charts" + "Projects" ], "security": [], "parameters": [ { - "description": "chartUuid for the chart to check diff", "in": "path", - "name": "chartUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_" + }, + "type": "array" + } + } + } + } } }, - "/api/v1/schedulers/{projectUuid}/logs": { - "get": { - "operationId": "getSchedulerLogs", + "/api/v1/projects/{projectUuid}/createPreview": { + "post": { + "operationId": "createPreview", "responses": { "200": { - "description": "Success", + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSchedulerLogsResponse" + "properties": { + "results": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -4283,9 +4583,8 @@ } } }, - "description": "Get scheduled logs", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ @@ -4297,19 +4596,41 @@ "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "copyContent": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "required": [ + "copyContent", + "name" + ], + "type": "object" + } + } + } + } } }, - "/api/v1/schedulers/{schedulerUuid}": { - "get": { - "operationId": "getScheduler", + "/api/v1/projects/{projectUuid}/schedulerSettings": { + "patch": { + "operationId": "updateSchedulerSettings", "responses": { "200": { - "description": "Success", + "description": "Updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSchedulerAndTargetsResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -4325,32 +4646,42 @@ } } }, - "description": "Get a scheduler", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the scheduler to update", "in": "path", - "name": "schedulerUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" } } - ] - }, - "patch": { - "operationId": "updateScheduler", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSchedulerSettings" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/tags": { + "post": { + "operationId": "createTag", "responses": { "201": { - "description": "Updated", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSchedulerAndTargetsResponse" + "$ref": "#/components/schemas/ApiCreateTagResponse" } } } @@ -4366,16 +4697,14 @@ } } }, - "description": "Update a scheduler", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the scheduler to update", "in": "path", - "name": "schedulerUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -4383,39 +4712,25 @@ } ], "requestBody": { - "description": "the new scheduler data", "required": true, "content": { "application/json": { "schema": { - "description": "the new scheduler data" + "$ref": "#/components/schemas/Pick_Tag.name-or-color_" } } } } }, - "delete": { - "operationId": "deleteScheduler", + "get": { + "operationId": "getTags", "responses": { - "201": { - "description": "Deleted", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": {}, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiGetTagsResponse" } } } @@ -4431,16 +4746,14 @@ } } }, - "description": "Delete a scheduler", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the scheduler to delete", "in": "path", - "name": "schedulerUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -4449,16 +4762,16 @@ ] } }, - "/api/v1/schedulers/{schedulerUuid}/enabled": { - "patch": { - "operationId": "updateSchedulerEnabled", + "/api/v1/projects/{projectUuid}/tags/{tagUuid}": { + "delete": { + "operationId": "deleteTag", "responses": { - "201": { - "description": "Updated", + "204": { + "description": "Deleted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSchedulerAndTargetsResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -4474,54 +4787,30 @@ } } }, - "description": "Set scheduler enabled", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the scheduler to update", "in": "path", - "name": "schedulerUuid", + "name": "tagUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "description": "the enabled flag", - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "enabled": { - "type": "boolean" - } - }, - "required": [ - "enabled" - ], - "type": "object", - "description": "the enabled flag" - } - } - } - } - } - }, - "/api/v1/schedulers/{schedulerUuid}/jobs": { - "get": { - "operationId": "getScheduledJobs", + ] + }, + "patch": { + "operationId": "updateTag", "responses": { "200": { - "description": "Success", + "description": "Updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiScheduledJobsResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -4537,34 +4826,42 @@ } } }, - "description": "Get scheduled jobs", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ { - "description": "The uuid of the scheduler to update", "in": "path", - "name": "schedulerUuid", + "name": "tagUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Partial_Pick_DbTag.name-or-color__" + } + } + } + } } }, - "/api/v1/schedulers/job/{jobId}/status": { + "/api/v1/projects/{projectUuid}/charts/code": { "get": { - "operationId": "getSchedulerJobStatus", + "operationId": "getChartsAsCode", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiJobStatusResponse" + "$ref": "#/components/schemas/ApiChartAsCodeListResponse" } } } @@ -4580,16 +4877,15 @@ } } }, - "description": "Get a generic job status\nThis method can be used when polling from the frontend", + "description": "Charts as code", "tags": [ - "Schedulers" + "Projects" ], "security": [], "parameters": [ { - "description": "the jobId for the status to check", "in": "path", - "name": "jobId", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -4598,16 +4894,16 @@ ] } }, - "/api/v1/schedulers/send": { - "post": { - "operationId": "sendScheduler", + "/api/v1/projects/{projectUuid}/dashboards/code": { + "get": { + "operationId": "getDashboardsAsCode", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiTestSchedulerResponse" + "$ref": "#/components/schemas/ApiDashboardAsCodeListResponse" } } } @@ -4623,35 +4919,32 @@ } } }, - "description": "Send a scheduler now before saving it", "tags": [ - "Schedulers" + "Projects" ], "security": [], - "parameters": [], - "requestBody": { - "description": "the create scheduler data", - "required": true, - "content": { - "application/json": { - "schema": { - "description": "the create scheduler data" - } + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/api/v1/share/{nanoId}": { - "get": { - "operationId": "getShareUrl", + "/api/v1/projects/{projectUuid}/charts/{slug}/code": { + "post": { + "operationId": "upsertChartAsCode", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiShareResponse" + "$ref": "#/components/schemas/ApiChartAsCodeUpsertResponse" } } } @@ -4667,34 +4960,65 @@ } } }, - "description": "Get a share url from a short url id", "tags": [ - "Share links" + "Projects" ], "security": [], "parameters": [ { - "description": "the short id for the share url", "in": "path", - "name": "nanoId", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "slug", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__" + }, + { + "properties": { + "metricQuery": {}, + "chartConfig": {} + }, + "required": [ + "metricQuery", + "chartConfig" + ], + "type": "object" + } + ] + } + } + } + } } }, - "/api/v1/share": { + "/api/v1/projects/{projectUuid}/dashboards/{slug}/code": { "post": { - "operationId": "CreateShareUrl", + "operationId": "upsertDashboardAsCode", "responses": { - "201": { - "description": "Created", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiShareResponse" + "$ref": "#/components/schemas/ApiDashboardAsCodeUpsertResponse" } } } @@ -4710,36 +5034,69 @@ } } }, - "description": "Given a full URL generates a short url id that can be used for sharing", "tags": [ - "Share links" + "Projects" ], "security": [], - "parameters": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "slug", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { - "description": "a full URL used to generate a short url id", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Pick_ShareUrl.path-or-params_", - "description": "a full URL used to generate a short url id" + "allOf": [ + { + "$ref": "#/components/schemas/Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__" + }, + { + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "tiles": {}, + "filters": {} + }, + "required": [ + "tiles", + "filters" + ], + "type": "object" + } + ] } } } } } }, - "/api/v1/slack/channels": { - "get": { - "operationId": "getSlackChannels", + "/api/v1/projects/{projectUuid}/explores/{exploreId}/runUnderlyingDataQuery": { + "post": { + "operationId": "postRunUnderlyingDataQuery", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSlackChannelsResponse" + "$ref": "#/components/schemas/ApiRunQueryResponse" } } } @@ -4755,67 +5112,55 @@ } } }, - "description": "Get slack channels", + "description": "Run a query for underlying data results", "tags": [ - "Integrations" + "Exploring" ], "security": [], - "parameters": [] - } - }, - "/api/v1/slack/custom-settings": { - "put": { - "operationId": "UpdateCustomSettings", - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiSlackCustomSettingsResponse" - } - } + "parameters": [ + { + "description": "The uuid of the project", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" } }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } + { + "description": "table name", + "in": "path", + "name": "exploreId", + "required": true, + "schema": { + "type": "string" } } - }, - "description": "Update slack notification channel to send notifications to scheduled jobs fail", - "tags": [ - "Integrations" ], - "security": [], - "parameters": [], "requestBody": { + "description": "metricQuery for the chart to run", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SlackAppCustomSettings" + "$ref": "#/components/schemas/MetricQueryRequest", + "description": "metricQuery for the chart to run" } } } } } }, - "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}": { - "get": { - "operationId": "GetSpace", + "/api/v1/projects/{projectUuid}/explores/{exploreId}/runQuery": { + "post": { + "operationId": "RunMetricQuery", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSpaceResponse" + "$ref": "#/components/schemas/ApiRunQueryResponse" } } } @@ -4831,14 +5176,14 @@ } } }, - "description": "Get details for a space in a project", + "description": "Run a query for explore", "tags": [ - "Spaces" + "Exploring" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", + "description": "The uuid of the project", "in": "path", "name": "projectUuid", "required": true, @@ -4847,25 +5192,39 @@ } }, { - "description": "The uuid of the space to get", + "description": "table name", "in": "path", - "name": "spaceUuid", + "name": "exploreId", "required": true, "schema": { "type": "string" } } - ] - }, - "delete": { - "operationId": "DeleteSpace", + ], + "requestBody": { + "description": "metricQuery for the chart to run", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricQueryRequest", + "description": "metricQuery for the chart to run" + } + } + } + } + } + }, + "/api/v1/saved/{chartUuid}/results": { + "post": { + "operationId": "PostChartResults", "responses": { - "204": { - "description": "Deleted", + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiRunQueryResponse" } } } @@ -4881,41 +5240,49 @@ } } }, - "description": "Delete a space from a project", + "description": "Run a query for a chart", "tags": [ - "Spaces" + "Charts" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", + "description": "chartUuid for the chart to run", "in": "path", - "name": "projectUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "The uuid of the space to delete", - "in": "path", - "name": "spaceUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "invalidateCache": { + "type": "boolean" + } + }, + "type": "object" + } } } - ] - }, - "patch": { - "operationId": "UpdateSpace", + } + } + }, + "/api/v1/saved/{chartUuid}/chart-and-results": { + "post": { + "operationId": "PostDashboardTile", "responses": { "200": { - "description": "Updated", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSpaceResponse" + "$ref": "#/components/schemas/ApiRunQueryResponse" } } } @@ -4931,26 +5298,14 @@ } } }, - "description": "Update a space in a project", "tags": [ - "Roles & Permissions", - "Spaces" + "Charts" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The uuid of the space to update", "in": "path", - "name": "spaceUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" @@ -4962,23 +5317,49 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateSpace" + "properties": { + "autoRefresh": { + "type": "boolean" + }, + "granularity": { + "$ref": "#/components/schemas/DateGranularity" + }, + "dashboardUuid": { + "type": "string" + }, + "dashboardSorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" + }, + "invalidateCache": { + "type": "boolean" + }, + "dashboardFilters": {} + }, + "required": [ + "dashboardUuid", + "dashboardSorts", + "dashboardFilters" + ], + "type": "object" } } } } } }, - "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share": { - "post": { - "operationId": "AddSpaceUserAccess", + "/api/v1/saved/{chartUuid}/history": { + "get": { + "operationId": "GetChartHistory", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGetChartHistoryResponse" } } } @@ -4994,53 +5375,34 @@ } } }, - "description": "Grant a user access to a space", + "description": "Get chart version history from last 30 days", "tags": [ - "Roles & Permissions", - "Spaces" + "Charts" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { + "description": "chartUuid for the chart", "in": "path", - "name": "spaceUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddSpaceUserAccess" - } - } - } - } + ] } }, - "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share/{userUuid}": { - "delete": { - "operationId": "RevokeSpaceAccessForUser", + "/api/v1/saved/{chartUuid}/version/{versionUuid}": { + "get": { + "operationId": "GetChartVersion", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGetChartVersionResponse" } } } @@ -5056,35 +5418,25 @@ } } }, - "description": "Remove a user's access to a space", + "description": "Get chart version", "tags": [ - "Roles & Permissions", - "Spaces" + "Charts" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The uuid of the space to update", + "description": "chartUuid for the chart", "in": "path", - "name": "spaceUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" } }, { - "description": "The uuid of the user to revoke access from", + "description": "versionUuid for the chart version", "in": "path", - "name": "userUuid", + "name": "versionUuid", "required": true, "schema": { "type": "string" @@ -5093,16 +5445,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/group/share": { + "/api/v1/saved/{chartUuid}/version/{versionUuid}/results": { "post": { - "operationId": "AddSpaceGroupAccess", + "operationId": "getChartVersionResults", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiRunQueryResponse" } } } @@ -5118,47 +5470,36 @@ } } }, - "description": "Grant a group access to a space", + "description": "Run a query for a chart version", "tags": [ - "Roles & Permissions", - "Spaces" + "Charts" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", + "description": "chartUuid for the chart to run", "in": "path", - "name": "projectUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" } }, { - "description": "The uuid of the space to update", + "description": "versionUuid for the chart version", "in": "path", - "name": "spaceUuid", + "name": "versionUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AddSpaceGroupAccess" - } - } - } - } + ] } }, - "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/group/share/{groupUuid}": { - "delete": { - "operationId": "RevokeGroupSpaceAccess", + "/api/v1/saved/{chartUuid}/rollback/{versionUuid}": { + "post": { + "operationId": "postChartVersionRollback", "responses": { "200": { "description": "Success", @@ -5181,35 +5522,25 @@ } } }, - "description": "Remove a group's access to a space", + "description": "Rollback chart to version", "tags": [ - "Roles & Permissions", - "Spaces" + "Charts" ], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "The uuid of the space to update", + "description": "chartUuid for the chart to run", "in": "path", - "name": "spaceUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" } }, { - "description": "The uuid of the group to revoke access from", + "description": "versionUuid for the chart version", "in": "path", - "name": "groupUuid", + "name": "versionUuid", "required": true, "schema": { "type": "string" @@ -5218,16 +5549,16 @@ ] } }, - "/api/v1/ssh/key-pairs": { + "/api/v1/saved/{chartUuid}/calculate-total": { "post": { - "operationId": "createSshKeyPair", + "operationId": "CalculateTotalFromSavedChart", "responses": { - "201": { + "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSshKeyPairResponse" + "$ref": "#/components/schemas/ApiCalculateTotalResponse" } } } @@ -5243,23 +5574,50 @@ } } }, + "description": "Calculate metric totals from a saved chart", "tags": [ - "SSH Keypairs" + "Charts" ], "security": [], - "parameters": [] + "parameters": [ + { + "description": "chartUuid for the chart to run", + "in": "path", + "name": "chartUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "invalidateCache": { + "type": "boolean" + }, + "dashboardFilters": {} + }, + "type": "object" + } + } + } + } } }, - "/api/v1/org/attributes": { - "get": { - "operationId": "getUserAttributes", + "/api/v1/saved/{chartUuid}/promote": { + "post": { + "operationId": "promoteChart", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiUserAttributesResponse" + "$ref": "#/components/schemas/ApiPromoteChartResponse" } } } @@ -5275,22 +5633,34 @@ } } }, - "description": "Get all user attributes", + "description": "Promote chart to its upstream project", "tags": [ - "User attributes" + "Charts" ], "security": [], - "parameters": [] - }, - "post": { - "operationId": "createUserAttribute", + "parameters": [ + { + "description": "chartUuid for the chart to run", + "in": "path", + "name": "chartUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/saved/{chartUuid}/promoteDiff": { + "get": { + "operationId": "promoteChartDiff", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCreateUserAttributeResponse" + "$ref": "#/components/schemas/ApiPromotionChangesResponse" } } } @@ -5306,36 +5676,58 @@ } } }, - "description": "Creates new user attribute", + "description": "Get diff from chart to promote", "tags": [ - "User attributes" + "Charts" ], "security": [], - "parameters": [], - "requestBody": { - "description": "the user attribute to create", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateUserAttribute", - "description": "the user attribute to create" - } + "parameters": [ + { + "description": "chartUuid for the chart to check diff", + "in": "path", + "name": "chartUuid", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/api/v1/org/attributes/{userAttributeUuid}": { - "put": { - "operationId": "updateUserAttribute", + "/api/v1/saved/{chartUuid}/downloadCsv": { + "post": { + "operationId": "DownloadCsvFromSavedChart", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCreateUserAttributeResponse" + "properties": { + "results": { + "properties": { + "jobId": { + "type": "string" + } + }, + "required": [ + "jobId" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" } } } @@ -5351,16 +5743,15 @@ } } }, - "description": "Updates a user attribute", + "description": "Download a CSV from a saved chart uuid", "tags": [ - "User attributes" + "Charts" ], "security": [], "parameters": [ { - "description": "the UUID for the group to add the user to", "in": "path", - "name": "userAttributeUuid", + "name": "chartUuid", "required": true, "schema": { "type": "string" @@ -5368,27 +5759,45 @@ } ], "requestBody": { - "description": "the user attribute to update", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateUserAttribute", - "description": "the user attribute to update" + "properties": { + "csvLimit": { + "type": "number", + "format": "double", + "nullable": true + }, + "onlyRaw": { + "type": "boolean" + }, + "tileUuid": { + "type": "string" + }, + "dashboardFilters": {} + }, + "required": [ + "onlyRaw", + "dashboardFilters" + ], + "type": "object" } } } } - }, - "delete": { - "operationId": "removeUserAttribute", + } + }, + "/api/v1/schedulers/{projectUuid}/logs": { + "get": { + "operationId": "getSchedulerLogs", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiSchedulerLogsResponse" } } } @@ -5404,16 +5813,15 @@ } } }, - "description": "Remove a user attribute", + "description": "Get scheduled logs", "tags": [ - "User attributes" + "Schedulers" ], "security": [], "parameters": [ { - "description": "the user attribute UUID to remove", "in": "path", - "name": "userAttributeUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -5422,16 +5830,16 @@ ] } }, - "/api/v1/user": { + "/api/v1/schedulers/{schedulerUuid}": { "get": { - "operationId": "GetAuthenticatedUser", + "operationId": "getScheduler", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetAuthenticatedUserResponse" + "$ref": "#/components/schemas/ApiSchedulerAndTargetsResponse" } } } @@ -5447,22 +5855,32 @@ } } }, - "description": "Get authenticated user", + "description": "Get a scheduler", "tags": [ - "My Account" + "Schedulers" ], "security": [], - "parameters": [] + "parameters": [ + { + "description": "The uuid of the scheduler to update", + "in": "path", + "name": "schedulerUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] }, - "post": { - "operationId": "RegisterUser", + "patch": { + "operationId": "updateScheduler", "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiRegisterUserResponse" + "$ref": "#/components/schemas/ApiSchedulerAndTargetsResponse" } } } @@ -5478,34 +5896,56 @@ } } }, - "description": "Register user", + "description": "Update a scheduler", "tags": [ - "My Account" + "Schedulers" ], "security": [], - "parameters": [], + "parameters": [ + { + "description": "The uuid of the scheduler to update", + "in": "path", + "name": "schedulerUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], "requestBody": { + "description": "the new scheduler data", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RegisterOrActivateUser" + "description": "the new scheduler data" } } } } - } - }, - "/api/v1/user/me/email/otp": { - "put": { - "operationId": "CreateEmailOneTimePasscode", + }, + "delete": { + "operationId": "deleteScheduler", "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Deleted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiEmailStatusResponse" + "properties": { + "results": {}, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "status" + ], + "type": "object" } } } @@ -5521,24 +5961,34 @@ } } }, - "description": "Create a new one-time passcode for the current user's primary email.\nThe user will receive an email with the passcode.", + "description": "Delete a scheduler", "tags": [ - "My Account" + "Schedulers" ], "security": [], - "parameters": [] + "parameters": [ + { + "description": "The uuid of the scheduler to delete", + "in": "path", + "name": "schedulerUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/api/v1/user/me/email/status": { - "get": { - "operationId": "GetEmailVerificationStatus", + "/api/v1/schedulers/{schedulerUuid}/enabled": { + "patch": { + "operationId": "updateSchedulerEnabled", "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiEmailStatusResponse" + "$ref": "#/components/schemas/ApiSchedulerAndTargetsResponse" } } } @@ -5554,34 +6004,54 @@ } } }, - "description": "Get the verification status for the current user's primary email", + "description": "Set scheduler enabled", "tags": [ - "My Account" + "Schedulers" ], "security": [], "parameters": [ { - "description": "the one-time passcode sent to the user's primary email", - "in": "query", - "name": "passcode", - "required": false, + "description": "The uuid of the scheduler to update", + "in": "path", + "name": "schedulerUuid", + "required": true, "schema": { "type": "string" } } - ] - } - }, - "/api/v1/user/me/allowedOrganizations": { - "get": { - "operationId": "ListMyAvailableOrganizations", - "responses": { - "200": { - "description": "Ok", + ], + "requestBody": { + "description": "the enabled flag", + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": [ + "enabled" + ], + "type": "object", + "description": "the enabled flag" + } + } + } + } + } + }, + "/api/v1/schedulers/{schedulerUuid}/jobs": { + "get": { + "operationId": "getScheduledJobs", + "responses": { + "200": { + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiUserAllowedOrganizationsResponse" + "$ref": "#/components/schemas/ApiScheduledJobsResponse" } } } @@ -5597,24 +6067,34 @@ } } }, - "description": "List the organizations that the current user can join.\nThis is based on the user's primary email domain and the organization's allowed email domains.", + "description": "Get scheduled jobs", "tags": [ - "My Account" + "Schedulers" ], "security": [], - "parameters": [] + "parameters": [ + { + "description": "The uuid of the scheduler to update", + "in": "path", + "name": "schedulerUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/api/v1/user/me/joinOrganization/{organizationUuid}": { - "post": { - "operationId": "JoinOrganization", + "/api/v1/schedulers/job/{jobId}/status": { + "get": { + "operationId": "getSchedulerJobStatus", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiJobStatusResponse" } } } @@ -5630,16 +6110,16 @@ } } }, - "description": "Add the current user to an organization that accepts users with a verified email domain.\nThis will fail if the organization email domain does not match the user's primary email domain.", + "description": "Get a generic job status\nThis method can be used when polling from the frontend", "tags": [ - "My Account" + "Schedulers" ], "security": [], "parameters": [ { - "description": "the uuid of the organization to join", + "description": "the jobId for the status to check", "in": "path", - "name": "organizationUuid", + "name": "jobId", "required": true, "schema": { "type": "string" @@ -5648,16 +6128,16 @@ ] } }, - "/api/v1/user/me": { - "delete": { - "operationId": "DeleteMe", + "/api/v1/schedulers/send": { + "post": { + "operationId": "sendScheduler", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiTestSchedulerResponse" } } } @@ -5673,43 +6153,35 @@ } } }, - "description": "Delete user", + "description": "Send a scheduler now before saving it", "tags": [ - "My Account" + "Schedulers" ], "security": [], - "parameters": [] + "parameters": [], + "requestBody": { + "description": "the create scheduler data", + "required": true, + "content": { + "application/json": { + "schema": { + "description": "the create scheduler data" + } + } + } + } } }, - "/api/v1/user/warehouseCredentials": { + "/api/v1/share/{nanoId}": { "get": { - "operationId": "getWarehouseCredentials", + "operationId": "getShareUrl", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/UserWarehouseCredentials" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiShareResponse" } } } @@ -5725,38 +6197,34 @@ } } }, - "description": "Get user warehouse credentials", + "description": "Get a share url from a short url id", "tags": [ - "My Account" + "Share links" ], "security": [], - "parameters": [] - }, + "parameters": [ + { + "description": "the short id for the share url", + "in": "path", + "name": "nanoId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/share": { "post": { - "operationId": "createWarehouseCredentials", + "operationId": "CreateShareUrl", "responses": { - "200": { - "description": "Ok", + "201": { + "description": "Created", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/UserWarehouseCredentials" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiShareResponse" } } } @@ -5772,50 +6240,36 @@ } } }, - "description": "Create user warehouse credentials", + "description": "Given a full URL generates a short url id that can be used for sharing", "tags": [ - "My Account" + "Share links" ], "security": [], "parameters": [], "requestBody": { + "description": "a full URL used to generate a short url id", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpsertUserWarehouseCredentials" + "$ref": "#/components/schemas/Pick_ShareUrl.path-or-params_", + "description": "a full URL used to generate a short url id" } } } } } }, - "/api/v1/user/warehouseCredentials/{uuid}": { - "patch": { - "operationId": "updateWarehouseCredentials", + "/api/v1/slack/channels": { + "get": { + "operationId": "getSlackChannels", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/UserWarehouseCredentials" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" + "$ref": "#/components/schemas/ApiSlackChannelsResponse" } } } @@ -5831,41 +6285,76 @@ } } }, - "description": "Update user warehouse credentials", + "description": "Get slack channels", "tags": [ - "My Account" + "Integrations" ], "security": [], "parameters": [ { - "in": "path", - "name": "uuid", - "required": true, + "in": "query", + "name": "search", + "required": false, "schema": { "type": "string" } } + ] + } + }, + "/api/v1/slack/custom-settings": { + "put": { + "operationId": "UpdateCustomSettings", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSlackCustomSettingsResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Update slack notification channel to send notifications to scheduled jobs fail", + "tags": [ + "Integrations" ], + "security": [], + "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpsertUserWarehouseCredentials" + "$ref": "#/components/schemas/SlackAppCustomSettings" } } } } - }, - "delete": { - "operationId": "deleteWarehouseCredentials", + } + }, + "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}": { + "get": { + "operationId": "GetSpace", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiSpaceResponse" } } } @@ -5881,33 +6370,41 @@ } } }, - "description": "Delete user warehouse credentials", + "description": "Get details for a space in a project", "tags": [ - "My Account" + "Spaces" ], "security": [], "parameters": [ { + "description": "The uuid of the space's parent project", "in": "path", - "name": "uuid", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The uuid of the space to get", + "in": "path", + "name": "spaceUuid", "required": true, "schema": { "type": "string" } } ] - } - }, - "/api/v1/user/login-options": { - "get": { - "operationId": "getLoginOptions", + }, + "delete": { + "operationId": "DeleteSpace", "responses": { - "200": { - "description": "Ok", + "204": { + "description": "Deleted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetLoginOptionsResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -5923,33 +6420,104 @@ } } }, - "description": "Get login options", + "description": "Delete a space from a project", "tags": [ - "My Account" + "Spaces" ], "security": [], "parameters": [ { - "in": "query", - "name": "email", - "required": false, + "description": "The uuid of the space's parent project", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The uuid of the space to delete", + "in": "path", + "name": "spaceUuid", + "required": true, "schema": { "type": "string" } } ] + }, + "patch": { + "operationId": "UpdateSpace", + "responses": { + "200": { + "description": "Updated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSpaceResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Update a space in a project", + "tags": [ + "Roles & Permissions", + "Spaces" + ], + "security": [], + "parameters": [ + { + "description": "The uuid of the space's parent project", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The uuid of the space to update", + "in": "path", + "name": "spaceUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSpace" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/validate": { + "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share": { "post": { - "operationId": "ValidateProject", + "operationId": "AddSpaceUserAccess", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiJobScheduledResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -5965,56 +6533,53 @@ } } }, - "description": "Validate content inside a project. This will start a validation job and return the job id.\n\nValidation jobs scan all charts and dashboards inside a project to find any broken references\nto metrics or dimensions that aren't available. Results are available after the job is completed.", + "description": "Grant a user access to a space", "tags": [ - "Projects" + "Roles & Permissions", + "Spaces" ], "security": [], "parameters": [ { - "description": "the projectId for the validation", + "description": "The uuid of the space's parent project", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } + }, + { + "in": "path", + "name": "spaceUuid", + "required": true, + "schema": { + "type": "string" + } } ], "requestBody": { - "description": "the compiled explores to validate against an existing project, this is used in the CLI to validate a project without creating a preview", "required": true, "content": { "application/json": { "schema": { - "properties": { - "validationTargets": { - "items": { - "$ref": "#/components/schemas/ValidationTarget" - }, - "type": "array" - }, - "explores": { - "items": {}, - "type": "array" - } - }, - "type": "object", - "description": "the compiled explores to validate against an existing project, this is used in the CLI to validate a project without creating a preview" + "$ref": "#/components/schemas/AddSpaceUserAccess" } } } } - }, - "get": { - "operationId": "GetLatestValidationResults", + } + }, + "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/share/{userUuid}": { + "delete": { + "operationId": "RevokeSpaceAccessForUser", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiValidateResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -6030,14 +6595,15 @@ } } }, - "description": "Get validation results for a project. This will return the results of the latest validation job.", + "description": "Remove a user's access to a space", "tags": [ - "Projects" + "Roles & Permissions", + "Spaces" ], "security": [], "parameters": [ { - "description": "the projectId for the validation", + "description": "The uuid of the space's parent project", "in": "path", "name": "projectUuid", "required": true, @@ -6046,19 +6612,19 @@ } }, { - "description": "boolean to know if this request is made from the settings page, for analytics", - "in": "query", - "name": "fromSettings", - "required": false, + "description": "The uuid of the space to update", + "in": "path", + "name": "spaceUuid", + "required": true, "schema": { - "type": "boolean" + "type": "string" } }, { - "description": "optional jobId to get results for a specific job, used on CLI", - "in": "query", - "name": "jobId", - "required": false, + "description": "The uuid of the user to revoke access from", + "in": "path", + "name": "userUuid", + "required": true, "schema": { "type": "string" } @@ -6066,16 +6632,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/validate/{validationId}": { - "delete": { - "operationId": "DeleteValidationDismiss", + "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/group/share": { + "post": { + "operationId": "AddSpaceGroupAccess", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiValidationDismissResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -6091,13 +6657,15 @@ } } }, - "description": "Deletes a single validation error.", + "description": "Grant a group access to a space", "tags": [ - "Projects" + "Roles & Permissions", + "Spaces" ], "security": [], "parameters": [ { + "description": "The uuid of the space's parent project", "in": "path", "name": "projectUuid", "required": true, @@ -6106,408 +6674,3133 @@ } }, { - "description": "the projectId for the validation", + "description": "The uuid of the space to update", "in": "path", - "name": "validationId", + "name": "spaceUuid", "required": true, "schema": { - "format": "double", - "type": "number" + "type": "string" } } - ] - } - } - }, - "components": { - "securitySchemes": { - "session_cookie": { - "type": "apiKey", - "in": "cookie", - "name": "connect.sid" - }, - "api_key": { - "type": "apiKey", - "in": "header", - "name": "Authorization", - "description": "Value should be 'ApiKey '" + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AddSpaceGroupAccess" + } + } + } + } } }, - "schemas": { - "CatalogType": { - "enum": [ - "table", - "field" - ], - "type": "string" - }, - "CatalogFilter": { - "enum": [ - "tables", - "dimensions", - "metrics" - ], - "type": "string" - }, - "ApiErrorPayload": { - "properties": { - "error": { - "properties": { - "data": { - "description": "Optional data containing details of the error" - }, - "message": { - "type": "string", - "description": "A friendly message summarising the error" - }, - "name": { + "/api/v1/projects/{projectUuid}/spaces/{spaceUuid}/group/share/{groupUuid}": { + "delete": { + "operationId": "RevokeGroupSpaceAccess", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Remove a group's access to a space", + "tags": [ + "Roles & Permissions", + "Spaces" + ], + "security": [], + "parameters": [ + { + "description": "The uuid of the space's parent project", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The uuid of the space to update", + "in": "path", + "name": "spaceUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The uuid of the group to revoke access from", + "in": "path", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/ssh/key-pairs": { + "post": { + "operationId": "createSshKeyPair", + "responses": { + "201": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSshKeyPairResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": [ + "SSH Keypairs" + ], + "security": [], + "parameters": [] + } + }, + "/api/v1/org/attributes": { + "get": { + "operationId": "getUserAttributes", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiUserAttributesResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get all user attributes", + "tags": [ + "User attributes" + ], + "security": [], + "parameters": [] + }, + "post": { + "operationId": "createUserAttribute", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiCreateUserAttributeResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Creates new user attribute", + "tags": [ + "User attributes" + ], + "security": [], + "parameters": [], + "requestBody": { + "description": "the user attribute to create", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateUserAttribute", + "description": "the user attribute to create" + } + } + } + } + } + }, + "/api/v1/org/attributes/{userAttributeUuid}": { + "put": { + "operationId": "updateUserAttribute", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiCreateUserAttributeResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Updates a user attribute", + "tags": [ + "User attributes" + ], + "security": [], + "parameters": [ + { + "description": "the UUID for the group to add the user to", + "in": "path", + "name": "userAttributeUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the user attribute to update", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateUserAttribute", + "description": "the user attribute to update" + } + } + } + } + }, + "delete": { + "operationId": "removeUserAttribute", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Remove a user attribute", + "tags": [ + "User attributes" + ], + "security": [], + "parameters": [ + { + "description": "the user attribute UUID to remove", + "in": "path", + "name": "userAttributeUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/user": { + "get": { + "operationId": "GetAuthenticatedUser", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiGetAuthenticatedUserResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get authenticated user", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [] + }, + "post": { + "operationId": "RegisterUser", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiRegisterUserResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Register user", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RegisterOrActivateUser" + } + } + } + } + } + }, + "/api/v1/user/me/email/otp": { + "put": { + "operationId": "CreateEmailOneTimePasscode", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiEmailStatusResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Create a new one-time passcode for the current user's primary email.\nThe user will receive an email with the passcode.", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [] + } + }, + "/api/v1/user/me/email/status": { + "get": { + "operationId": "GetEmailVerificationStatus", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiEmailStatusResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get the verification status for the current user's primary email", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "description": "the one-time passcode sent to the user's primary email", + "in": "query", + "name": "passcode", + "required": false, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/user/me/allowedOrganizations": { + "get": { + "operationId": "ListMyAvailableOrganizations", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiUserAllowedOrganizationsResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "List the organizations that the current user can join.\nThis is based on the user's primary email domain and the organization's allowed email domains.", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [] + } + }, + "/api/v1/user/me/joinOrganization/{organizationUuid}": { + "post": { + "operationId": "JoinOrganization", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Add the current user to an organization that accepts users with a verified email domain.\nThis will fail if the organization email domain does not match the user's primary email domain.", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "description": "the uuid of the organization to join", + "in": "path", + "name": "organizationUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/user/me": { + "delete": { + "operationId": "DeleteMe", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Delete user", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [] + } + }, + "/api/v1/user/warehouseCredentials": { + "get": { + "operationId": "getWarehouseCredentials", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/UserWarehouseCredentials" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get user warehouse credentials", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [] + }, + "post": { + "operationId": "createWarehouseCredentials", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/UserWarehouseCredentials" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Create user warehouse credentials", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpsertUserWarehouseCredentials" + } + } + } + } + } + }, + "/api/v1/user/warehouseCredentials/{uuid}": { + "patch": { + "operationId": "updateWarehouseCredentials", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/UserWarehouseCredentials" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Update user warehouse credentials", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "uuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpsertUserWarehouseCredentials" + } + } + } + } + }, + "delete": { + "operationId": "deleteWarehouseCredentials", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Delete user warehouse credentials", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "uuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/user/login-options": { + "get": { + "operationId": "getLoginOptions", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiGetLoginOptionsResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get login options", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "in": "query", + "name": "email", + "required": false, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}/rotate": { + "patch": { + "operationId": "Rotate personal access token", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/PersonalAccessTokenWithToken" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Rotate personal access token", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "personalAccessTokenUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "expiresAt": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "expiresAt" + ], + "type": "object" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/validate": { + "post": { + "operationId": "ValidateProject", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiJobScheduledResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Validate content inside a project. This will start a validation job and return the job id.\n\nValidation jobs scan all charts and dashboards inside a project to find any broken references\nto metrics or dimensions that aren't available. Results are available after the job is completed.", + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "description": "the projectId for the validation", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the compiled explores to validate against an existing project, this is used in the CLI to validate a project without creating a preview", + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "validationTargets": { + "items": { + "$ref": "#/components/schemas/ValidationTarget" + }, + "type": "array" + }, + "explores": { + "items": {}, + "type": "array" + } + }, + "type": "object", + "description": "the compiled explores to validate against an existing project, this is used in the CLI to validate a project without creating a preview" + } + } + } + } + }, + "get": { + "operationId": "GetLatestValidationResults", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiValidateResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get validation results for a project. This will return the results of the latest validation job.", + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "description": "the projectId for the validation", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "boolean to know if this request is made from the settings page, for analytics", + "in": "query", + "name": "fromSettings", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "description": "optional jobId to get results for a specific job, used on CLI", + "in": "query", + "name": "jobId", + "required": false, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/validate/{validationId}": { + "delete": { + "operationId": "DeleteValidationDismiss", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiValidationDismissResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Deletes a single validation error.", + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the projectId for the validation", + "in": "path", + "name": "validationId", + "required": true, + "schema": { + "format": "double", + "type": "number" + } + } + ] + } + } + }, + "components": { + "securitySchemes": { + "session_cookie": { + "type": "apiKey", + "in": "cookie", + "name": "connect.sid" + }, + "api_key": { + "type": "apiKey", + "in": "header", + "name": "Authorization", + "description": "Value should be 'ApiKey '" + } + }, + "schemas": { + "CatalogType": { + "enum": [ + "table", + "field" + ], + "type": "string" + }, + "CatalogFilter": { + "enum": [ + "tables", + "dimensions", + "metrics" + ], + "type": "string" + }, + "ApiErrorPayload": { + "properties": { + "error": { + "properties": { + "data": { + "description": "Optional data containing details of the error" + }, + "message": { + "type": "string", + "description": "A friendly message summarising the error" + }, + "name": { "type": "string", "description": "Unique name for the type of error" }, - "statusCode": { - "type": "number", - "format": "integer", - "description": "HTTP status code" + "statusCode": { + "type": "number", + "format": "integer", + "description": "HTTP status code" + } + }, + "required": [ + "name", + "statusCode" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "error" + ], + "nullable": false + } + }, + "required": [ + "error", + "status" + ], + "type": "object", + "description": "The Error object is returned from the api any time there is an error.\nThe message contains" + }, + "FieldType": { + "enum": [ + "metric", + "dimension" + ], + "type": "string" + }, + "Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_": { + "properties": { + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "fieldType": { + "$ref": "#/components/schemas/FieldType" + }, + "tableLabel": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "name", + "label", + "fieldType", + "tableLabel" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Record_string.string-or-string-Array_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Pick_Dimension.requiredAttributes_": { + "properties": { + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + } + }, + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "EmojiIcon": { + "properties": { + "unicode": { + "type": "string" + } + }, + "required": [ + "unicode" + ], + "type": "object" + }, + "CustomIcon": { + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" + }, + "CatalogItemIcon": { + "anyOf": [ + { + "$ref": "#/components/schemas/EmojiIcon" + }, + { + "$ref": "#/components/schemas/CustomIcon" + } + ] + }, + "Pick_Tag.name-or-color-or-tagUuid_": { + "properties": { + "name": { + "type": "string" + }, + "color": { + "type": "string" + }, + "tagUuid": { + "type": "string" + } + }, + "required": [ + "name", + "color", + "tagUuid" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CatalogType.Field": { + "enum": [ + "field" + ], + "type": "string" + }, + "CatalogField": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_" + }, + { + "$ref": "#/components/schemas/Pick_Dimension.requiredAttributes_" + }, + { + "properties": { + "icon": { + "allOf": [ + { + "$ref": "#/components/schemas/CatalogItemIcon" + } + ], + "nullable": true + }, + "chartUsage": { + "type": "number", + "format": "double" + }, + "categories": { + "items": { + "$ref": "#/components/schemas/Pick_Tag.name-or-color-or-tagUuid_" + }, + "type": "array" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tableGroupLabel": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "basicType": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/CatalogType.Field" + }, + "catalogSearchUuid": { + "type": "string" + } + }, + "required": [ + "icon", + "categories", + "tableName", + "type", + "catalogSearchUuid" + ], + "type": "object" + } + ] + }, + "Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_": { + "properties": { + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "description": { + "type": "string" + }, + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + }, + "groupLabel": { + "type": "string" + } + }, + "required": [ + "name", + "label" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "DbtModelJoinType": { + "type": "string", + "enum": [ + "inner", + "full", + "left", + "right" + ] + }, + "Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_": { + "properties": { + "table": { + "type": "string" + }, + "sqlOn": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/DbtModelJoinType" + }, + "hidden": { + "type": "boolean" + }, + "always": { + "type": "boolean" + } + }, + "required": [ + "table", + "sqlOn" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CompiledExploreJoin": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_" + }, + { + "properties": { + "compiledSqlOn": { + "type": "string" + } + }, + "required": [ + "compiledSqlOn" + ], + "type": "object" + } + ] + }, + "CatalogType.Table": { + "enum": [ + "table" + ], + "type": "string" + }, + "InlineErrorType": { + "enum": [ + "METADATA_PARSE_ERROR", + "NO_DIMENSIONS_FOUND" + ], + "type": "string" + }, + "InlineError": { + "properties": { + "message": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/InlineErrorType" + } + }, + "required": [ + "message", + "type" + ], + "type": "object" + }, + "CatalogTable": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_" + }, + { + "properties": { + "icon": { + "allOf": [ + { + "$ref": "#/components/schemas/CatalogItemIcon" + } + ], + "nullable": true + }, + "chartUsage": { + "type": "number", + "format": "double" + }, + "joinedTables": { + "items": { + "$ref": "#/components/schemas/CompiledExploreJoin" + }, + "type": "array" + }, + "categories": { + "items": { + "$ref": "#/components/schemas/Pick_Tag.name-or-color-or-tagUuid_" + }, + "type": "array" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "groupLabel": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/CatalogType.Table" + }, + "errors": { + "items": { + "$ref": "#/components/schemas/InlineError" + }, + "type": "array" + }, + "catalogSearchUuid": { + "type": "string" + } + }, + "required": [ + "icon", + "categories", + "type", + "catalogSearchUuid" + ], + "type": "object" + } + ] + }, + "CatalogItem": { + "anyOf": [ + { + "$ref": "#/components/schemas/CatalogField" + }, + { + "$ref": "#/components/schemas/CatalogTable" + } + ] + }, + "ApiCatalogResults": { + "items": { + "$ref": "#/components/schemas/CatalogItem" + }, + "type": "array" + }, + "CatalogMetadata": { + "properties": { + "fieldType": { + "$ref": "#/components/schemas/FieldType" + }, + "tableLabel": { + "type": "string" + }, + "joinedTables": { + "items": { + "type": "string" + }, + "type": "array" + }, + "fields": { + "items": { + "$ref": "#/components/schemas/CatalogField" + }, + "type": "array" + }, + "source": { + "type": "string" + }, + "modelName": { + "type": "string" + }, + "label": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "joinedTables", + "fields", + "modelName", + "label", + "name" + ], + "type": "object" + }, + "ChartKind": { + "enum": [ + "line", + "horizontal_bar", + "vertical_bar", + "scatter", + "area", + "mixed", + "pie", + "table", + "big_number", + "funnel", + "custom" + ], + "type": "string" + }, + "Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceName": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "dashboardName": { + "type": "string", + "nullable": true + }, + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + } + }, + "required": [ + "name", + "uuid", + "spaceName", + "spaceUuid", + "dashboardUuid", + "dashboardName" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CatalogAnalytics": { + "properties": { + "charts": { + "items": { + "$ref": "#/components/schemas/Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_" + }, + "type": "array" + } + }, + "required": [ + "charts" + ], + "type": "object" + }, + "ApiSortDirection": { + "type": "string", + "enum": [ + "asc", + "desc" + ] + }, + "KnexPaginateArgs": { + "properties": { + "page": { + "type": "number", + "format": "double" + }, + "pageSize": { + "type": "number", + "format": "double" + } + }, + "required": [ + "page", + "pageSize" + ], + "type": "object" + }, + "ApiMetricsCatalogResults": { + "items": { + "$ref": "#/components/schemas/CatalogField" + }, + "type": "array" + }, + "KnexPaginatedData_ApiMetricsCatalogResults_": { + "properties": { + "pagination": { + "allOf": [ + { + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalResults", + "totalPageCount" + ], + "type": "object" + } + ] + }, + "data": { + "$ref": "#/components/schemas/ApiMetricsCatalogResults" + } + }, + "required": [ + "data" + ], + "type": "object" + }, + "ApiMetricsCatalog": { + "properties": { + "results": { + "$ref": "#/components/schemas/KnexPaginatedData_ApiMetricsCatalogResults_" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "FieldType.METRIC": { + "enum": [ + "metric" + ], + "type": "string" + }, + "MetricType": { + "enum": [ + "percentile", + "average", + "count", + "count_distinct", + "sum", + "min", + "max", + "number", + "median", + "string", + "date", + "timestamp", + "boolean" + ], + "type": "string" + }, + "SourcePosition": { + "properties": { + "character": { + "type": "number", + "format": "double" + }, + "line": { + "type": "number", + "format": "double" + } + }, + "required": [ + "character", + "line" + ], + "type": "object" + }, + "Source": { + "properties": { + "content": { + "type": "string" + }, + "highlight": { + "properties": { + "end": { + "$ref": "#/components/schemas/SourcePosition" + }, + "start": { + "$ref": "#/components/schemas/SourcePosition" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "range": { + "properties": { + "end": { + "$ref": "#/components/schemas/SourcePosition" + }, + "start": { + "$ref": "#/components/schemas/SourcePosition" + } + }, + "required": [ + "end", + "start" + ], + "type": "object" + }, + "path": { + "type": "string" + } + }, + "required": [ + "content", + "range", + "path" + ], + "type": "object" + }, + "Compact": { + "enum": [ + "thousands", + "millions", + "billions", + "trillions" + ], + "type": "string" + }, + "CompactOrAlias": { + "anyOf": [ + { + "$ref": "#/components/schemas/Compact" + }, + { + "type": "string", + "enum": [ + "K", + "thousand", + "M", + "million", + "B", + "billion", + "T", + "trillion" + ] + } + ] + }, + "Format": { + "enum": [ + "km", + "mi", + "usd", + "gbp", + "eur", + "id", + "percent" + ], + "type": "string" + }, + "FieldUrl": { + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" + }, + "ConditionalOperator": { + "enum": [ + "isNull", + "notNull", + "equals", + "notEquals", + "startsWith", + "endsWith", + "include", + "doesNotInclude", + "lessThan", + "lessThanOrEqual", + "greaterThan", + "greaterThanOrEqual", + "inThePast", + "notInThePast", + "inTheNext", + "inTheCurrent", + "notInTheCurrent", + "inBetween" + ], + "type": "string" + }, + "MetricFilterRule": { + "properties": { + "values": { + "items": {}, + "type": "array" + }, + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" + }, + "id": { + "type": "string" + }, + "target": { + "properties": { + "fieldRef": { + "type": "string" + } + }, + "required": [ + "fieldRef" + ], + "type": "object" + }, + "settings": {}, + "disabled": { + "type": "boolean" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "operator", + "id", + "target" + ], + "type": "object", + "additionalProperties": true + }, + "CustomFormatType": { + "enum": [ + "default", + "percent", + "currency", + "number", + "id", + "date", + "timestamp" + ], + "type": "string" + }, + "NumberSeparator": { + "enum": [ + "default", + "commaPeriod", + "spacePeriod", + "periodComma", + "noSeparatorPeriod" + ], + "type": "string" + }, + "TimeFrames": { + "enum": [ + "RAW", + "YEAR", + "QUARTER", + "MONTH", + "WEEK", + "DAY", + "HOUR", + "MINUTE", + "SECOND", + "MILLISECOND", + "DAY_OF_WEEK_INDEX", + "DAY_OF_MONTH_NUM", + "DAY_OF_YEAR_NUM", + "WEEK_NUM", + "MONTH_NUM", + "QUARTER_NUM", + "YEAR_NUM", + "DAY_OF_WEEK_NAME", + "MONTH_NAME", + "QUARTER_NAME", + "HOUR_OF_DAY_NUM", + "MINUTE_OF_HOUR_NUM" + ], + "type": "string" + }, + "CustomFormat": { + "properties": { + "type": { + "$ref": "#/components/schemas/CustomFormatType" + }, + "round": { + "type": "number", + "format": "double" + }, + "separator": { + "$ref": "#/components/schemas/NumberSeparator" + }, + "currency": { + "type": "string" + }, + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "prefix": { + "type": "string" + }, + "suffix": { + "type": "string" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeFrames" + } + }, + "required": [ + "type" + ], + "type": "object", + "additionalProperties": true + }, + "DefaultTimeDimension": { + "properties": { + "interval": { + "$ref": "#/components/schemas/TimeFrames" + }, + "field": { + "type": "string" + } + }, + "required": [ + "interval", + "field" + ], + "type": "object" + }, + "Record_string.Record_string.string-or-string-Array__": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "CompiledMetric": { + "properties": { + "fieldType": { + "$ref": "#/components/schemas/FieldType.METRIC" + }, + "type": { + "$ref": "#/components/schemas/MetricType" + }, + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "table": { + "type": "string" + }, + "tableLabel": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "description": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Source" + }, + "hidden": { + "type": "boolean" + }, + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "round": { + "type": "number", + "format": "double" + }, + "format": { + "$ref": "#/components/schemas/Format" + }, + "groupLabel": { + "type": "string", + "deprecated": true + }, + "groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "urls": { + "items": { + "$ref": "#/components/schemas/FieldUrl" + }, + "type": "array" + }, + "index": { + "type": "number", + "format": "double" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "isAutoGenerated": { + "type": "boolean" + }, + "showUnderlyingValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "filters": { + "items": { + "$ref": "#/components/schemas/MetricFilterRule" + }, + "type": "array" + }, + "percentile": { + "type": "number", + "format": "double" + }, + "formatOptions": { + "$ref": "#/components/schemas/CustomFormat" + }, + "dimensionReference": { + "type": "string" + }, + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + }, + "defaultTimeDimension": { + "$ref": "#/components/schemas/DefaultTimeDimension" + }, + "compiledSql": { + "type": "string" + }, + "tablesReferences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tablesRequiredAttributes": { + "$ref": "#/components/schemas/Record_string.Record_string.string-or-string-Array__" + } + }, + "required": [ + "fieldType", + "type", + "name", + "label", + "table", + "tableLabel", + "sql", + "hidden", + "isAutoGenerated", + "compiledSql" + ], + "type": "object", + "additionalProperties": true + }, + "FieldType.DIMENSION": { + "enum": [ + "dimension" + ], + "type": "string" + }, + "DimensionType": { + "enum": [ + "string", + "number", + "timestamp", + "date", + "boolean" + ], + "type": "string" + }, + "Record_string.string_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "CompiledDimension": { + "properties": { + "fieldType": { + "$ref": "#/components/schemas/FieldType.DIMENSION" + }, + "type": { + "$ref": "#/components/schemas/DimensionType" + }, + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "table": { + "type": "string" + }, + "tableLabel": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "description": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Source" + }, + "hidden": { + "type": "boolean" + }, + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "round": { + "type": "number", + "format": "double" + }, + "format": { + "$ref": "#/components/schemas/Format" + }, + "groupLabel": { + "type": "string", + "deprecated": true + }, + "groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "urls": { + "items": { + "$ref": "#/components/schemas/FieldUrl" + }, + "type": "array" + }, + "index": { + "type": "number", + "format": "double" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "group": { + "type": "string", + "deprecated": true + }, + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeFrames" + }, + "timeIntervalBaseDimensionName": { + "type": "string" + }, + "isAdditionalDimension": { + "type": "boolean" + }, + "colors": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "isIntervalBase": { + "type": "boolean" + }, + "compiledSql": { + "type": "string" + }, + "tablesReferences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tablesRequiredAttributes": { + "$ref": "#/components/schemas/Record_string.Record_string.string-or-string-Array__" + } + }, + "required": [ + "fieldType", + "type", + "name", + "label", + "table", + "tableLabel", + "sql", + "hidden", + "compiledSql" + ], + "type": "object", + "additionalProperties": true + }, + "DimensionType.DATE": { + "enum": [ + "date" + ], + "type": "string" + }, + "DimensionType.TIMESTAMP": { + "enum": [ + "timestamp" + ], + "type": "string" + }, + "MetricWithAssociatedTimeDimension": { + "allOf": [ + { + "$ref": "#/components/schemas/CompiledMetric" + }, + { + "properties": { + "availableTimeDimensions": { + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/CompiledDimension" + }, + { + "properties": { + "type": { + "anyOf": [ + { + "$ref": "#/components/schemas/DimensionType.DATE" + }, + { + "$ref": "#/components/schemas/DimensionType.TIMESTAMP" + } + ] + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "timeDimension": { + "allOf": [ + { + "$ref": "#/components/schemas/DefaultTimeDimension" + }, + { + "properties": { + "table": { + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object" + } + ] + } + }, + "type": "object" + } + ] + }, + "ApiGetMetricPeek": { + "properties": { + "results": { + "$ref": "#/components/schemas/MetricWithAssociatedTimeDimension" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "ApiMetricsWithAssociatedTimeDimensionResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/MetricWithAssociatedTimeDimension" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "ApiSuccessEmpty": { + "properties": { + "results": {}, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_": { + "properties": { + "name": { + "type": "string" + }, + "catalogSearchUuid": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "required": [ + "name", + "catalogSearchUuid", + "tableName" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CatalogMetricsTreeEdge": { + "properties": { + "projectUuid": { + "type": "string" + }, + "createdByUserUuid": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "target": { + "$ref": "#/components/schemas/Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_" + }, + "source": { + "$ref": "#/components/schemas/Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_" + } + }, + "required": [ + "projectUuid", + "createdByUserUuid", + "createdAt", + "target", + "source" + ], + "type": "object" + }, + "ApiGetMetricsTree": { + "properties": { + "results": { + "properties": { + "edges": { + "items": { + "$ref": "#/components/schemas/CatalogMetricsTreeEdge" + }, + "type": "array" + } + }, + "required": [ + "edges" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "ApiMetricsTreeEdgePayload": { + "properties": { + "targetCatalogSearchUuid": { + "type": "string" + }, + "sourceCatalogSearchUuid": { + "type": "string" + } + }, + "required": [ + "targetCatalogSearchUuid", + "sourceCatalogSearchUuid" + ], + "type": "object" + }, + "Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_": { + "properties": { + "text": { + "type": "string" + }, + "replyTo": { + "type": "string" + }, + "mentions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "textHtml": { + "type": "string" + } + }, + "required": [ + "text", + "mentions", + "textHtml" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "ApiCreateComment": { + "properties": { + "results": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "Comment": { + "properties": { + "mentions": { + "items": { + "type": "string" + }, + "type": "array" + }, + "canRemove": { + "type": "boolean" + }, + "resolved": { + "type": "boolean" + }, + "replies": { + "items": { + "$ref": "#/components/schemas/Comment" + }, + "type": "array" + }, + "replyTo": { + "type": "string" + }, + "user": { + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "textHtml": { + "type": "string" + }, + "text": { + "type": "string" + }, + "commentId": { + "type": "string" + } + }, + "required": [ + "mentions", + "canRemove", + "resolved", + "user", + "createdAt", + "textHtml", + "text", + "commentId" + ], + "type": "object" + }, + "ApiGetComments": { + "properties": { + "results": { + "properties": {}, + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/Comment" + }, + "type": "array" + }, + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "ApiResolveComment": { + "properties": { + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "ApiCsvUrlResponse": { + "properties": { + "results": { + "properties": { + "truncated": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "url": { + "type": "string" } }, "required": [ - "name", - "statusCode" + "truncated", + "status", + "url" ], "type": "object" }, "status": { "type": "string", "enum": [ - "error" + "ok" ], "nullable": false } }, "required": [ - "error", + "results", "status" ], - "type": "object", - "description": "The Error object is returned from the api any time there is an error.\nThe message contains" + "type": "object" }, - "FieldType": { + "DashboardTileTypes": { "enum": [ - "metric", - "dimension" + "saved_chart", + "sql_chart", + "semantic_viewer_chart", + "markdown", + "loom" ], "type": "string" }, - "Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_": { + "Required_CreateDashboardTileBase_": { "properties": { - "name": { + "uuid": { "type": "string" }, - "label": { - "type": "string" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes" }, - "fieldType": { - "$ref": "#/components/schemas/FieldType" + "x": { + "type": "number", + "format": "double" }, - "tableLabel": { - "type": "string" + "y": { + "type": "number", + "format": "double" }, - "description": { + "h": { + "type": "number", + "format": "double" + }, + "w": { + "type": "number", + "format": "double" + }, + "tabUuid": { "type": "string" } }, "required": [ - "name", - "label", - "fieldType", - "tableLabel" + "uuid", + "type", + "x", + "y", + "h", + "w" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Record_string.string-or-string-Array_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Pick_Dimension.requiredAttributes_": { - "properties": { - "requiredAttributes": { - "$ref": "#/components/schemas/Record_string.string-or-string-Array_" - } - }, - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "description": "Make all properties in T required" }, - "CatalogType.Field": { + "DashboardTileTypes.SAVED_CHART": { "enum": [ - "field" + "saved_chart" ], "type": "string" }, - "CatalogField": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_" - }, - { - "$ref": "#/components/schemas/Pick_Dimension.requiredAttributes_" - }, - { + "DashboardChartTileProperties": { + "properties": { + "properties": { "properties": { - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "tableGroupLabel": { + "chartSlug": { "type": "string" }, - "tableName": { - "type": "string" + "lastVersionChartKind": { + "allOf": [ + { + "$ref": "#/components/schemas/ChartKind" + } + ], + "nullable": true }, - "basicType": { - "type": "string" + "chartName": { + "type": "string", + "nullable": true }, - "type": { - "$ref": "#/components/schemas/CatalogType.Field" + "belongsToDashboard": { + "type": "boolean" + }, + "savedChartUuid": { + "type": "string", + "nullable": true + }, + "hideTitle": { + "type": "boolean" + }, + "title": { + "type": "string" } }, "required": [ - "tableName", - "type" + "savedChartUuid" ], "type": "object" - } - ] - }, - "Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_": { - "properties": { - "name": { - "type": "string" - }, - "label": { - "type": "string" - }, - "description": { - "type": "string" - }, - "requiredAttributes": { - "$ref": "#/components/schemas/Record_string.string-or-string-Array_" }, - "groupLabel": { - "type": "string" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.SAVED_CHART" } }, "required": [ - "name", - "label" + "properties", + "type" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "DbtModelJoinType": { - "type": "string", - "enum": [ - "inner", - "full", - "left", - "right" + "DashboardChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + }, + { + "$ref": "#/components/schemas/DashboardChartTileProperties" + } ] }, - "Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_": { + "DashboardTileTypes.MARKDOWN": { + "enum": [ + "markdown" + ], + "type": "string" + }, + "DashboardMarkdownTileProperties": { "properties": { - "table": { - "type": "string" - }, - "sqlOn": { - "type": "string" + "properties": { + "properties": { + "content": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "content", + "title" + ], + "type": "object" }, "type": { - "$ref": "#/components/schemas/DbtModelJoinType" - }, - "hidden": { - "type": "boolean" - }, - "always": { - "type": "boolean" + "$ref": "#/components/schemas/DashboardTileTypes.MARKDOWN" } }, "required": [ - "table", - "sqlOn" + "properties", + "type" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "CompiledExploreJoin": { + "DashboardMarkdownTile": { "allOf": [ { - "$ref": "#/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_" + "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" }, { + "$ref": "#/components/schemas/DashboardMarkdownTileProperties" + } + ] + }, + "DashboardTileTypes.LOOM": { + "enum": [ + "loom" + ], + "type": "string" + }, + "DashboardLoomTileProperties": { + "properties": { + "properties": { "properties": { - "compiledSqlOn": { + "url": { + "type": "string" + }, + "hideTitle": { + "type": "boolean" + }, + "title": { "type": "string" } }, "required": [ - "compiledSqlOn" + "url", + "title" ], "type": "object" + }, + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.LOOM" + } + }, + "required": [ + "properties", + "type" + ], + "type": "object" + }, + "DashboardLoomTile": { + "allOf": [ + { + "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + }, + { + "$ref": "#/components/schemas/DashboardLoomTileProperties" } ] }, - "CatalogType.Table": { - "enum": [ - "table" - ], - "type": "string" - }, - "InlineErrorType": { + "DashboardTileTypes.SQL_CHART": { "enum": [ - "METADATA_PARSE_ERROR", - "NO_DIMENSIONS_FOUND" + "sql_chart" ], "type": "string" }, - "InlineError": { + "DashboardSqlChartTileProperties": { "properties": { - "message": { - "type": "string" + "properties": { + "properties": { + "chartSlug": { + "type": "string" + }, + "hideTitle": { + "type": "boolean" + }, + "chartName": { + "type": "string" + }, + "savedSqlUuid": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + } + }, + "required": [ + "chartName", + "savedSqlUuid" + ], + "type": "object" }, "type": { - "$ref": "#/components/schemas/InlineErrorType" + "$ref": "#/components/schemas/DashboardTileTypes.SQL_CHART" } }, "required": [ - "message", + "properties", "type" ], "type": "object" }, - "CatalogTable": { + "DashboardSqlChartTile": { "allOf": [ { - "$ref": "#/components/schemas/Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_" + "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" }, { + "$ref": "#/components/schemas/DashboardSqlChartTileProperties" + } + ] + }, + "DashboardTileTypes.SEMANTIC_VIEWER_CHART": { + "enum": [ + "semantic_viewer_chart" + ], + "type": "string" + }, + "DashboardSemanticViewerChartTileProperties": { + "properties": { + "properties": { "properties": { - "joinedTables": { - "items": { - "$ref": "#/components/schemas/CompiledExploreJoin" - }, - "type": "array" + "chartSlug": { + "type": "string" }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "hideTitle": { + "type": "boolean" }, - "groupLabel": { + "chartName": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/CatalogType.Table" + "savedSemanticViewerChartUuid": { + "type": "string", + "nullable": true }, - "errors": { - "items": { - "$ref": "#/components/schemas/InlineError" - }, - "type": "array" + "title": { + "type": "string" } }, "required": [ - "type" + "chartName", + "savedSemanticViewerChartUuid" ], "type": "object" + }, + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART" + } + }, + "required": [ + "properties", + "type" + ], + "type": "object" + }, + "DashboardSemanticViewerChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + }, + { + "$ref": "#/components/schemas/DashboardSemanticViewerChartTileProperties" } ] }, - "CatalogItem": { + "DashboardTile": { "anyOf": [ { - "$ref": "#/components/schemas/CatalogField" + "$ref": "#/components/schemas/DashboardChartTile" }, { - "$ref": "#/components/schemas/CatalogTable" + "$ref": "#/components/schemas/DashboardMarkdownTile" + }, + { + "$ref": "#/components/schemas/DashboardLoomTile" + }, + { + "$ref": "#/components/schemas/DashboardSqlChartTile" + }, + { + "$ref": "#/components/schemas/DashboardSemanticViewerChartTile" } ] }, - "ApiCatalogResults": { - "items": { - "$ref": "#/components/schemas/CatalogItem" + "DashboardFieldTarget": { + "properties": { + "tableName": { + "type": "string" + }, + "fieldId": { + "type": "string" + } }, - "type": "array" + "required": [ + "tableName", + "fieldId" + ], + "type": "object" }, - "CatalogMetadata": { + "FilterRule_ConditionalOperator.T.V.any_": { "properties": { - "fieldType": { - "$ref": "#/components/schemas/FieldType" + "values": { + "items": {}, + "type": "array" }, - "tableLabel": { + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" + }, + "id": { "type": "string" }, - "joinedTables": { + "target": { + "$ref": "#/components/schemas/DashboardFieldTarget" + }, + "settings": {}, + "disabled": { + "type": "boolean" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "operator", + "id", + "target" + ], + "type": "object", + "additionalProperties": true + }, + "Record_string.DashboardTileTarget_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "DashboardFilterRule": { + "allOf": [ + { + "$ref": "#/components/schemas/FilterRule_ConditionalOperator.T.V.any_" + }, + { + "properties": { + "label": { + "type": "string" + }, + "tileTargets": { + "$ref": "#/components/schemas/Record_string.DashboardTileTarget_" + } + }, + "type": "object" + } + ] + }, + "DashboardFilters": { + "properties": { + "tableCalculations": { "items": { - "type": "string" + "$ref": "#/components/schemas/DashboardFilterRule" }, "type": "array" }, - "fields": { + "metrics": { "items": { - "$ref": "#/components/schemas/CatalogField" + "$ref": "#/components/schemas/DashboardFilterRule" }, "type": "array" }, - "source": { - "type": "string" - }, - "modelName": { - "type": "string" - }, - "label": { + "dimensions": { + "items": { + "$ref": "#/components/schemas/DashboardFilterRule" + }, + "type": "array" + } + }, + "required": [ + "tableCalculations", + "metrics", + "dimensions" + ], + "type": "object" + }, + "UpdatedByUser": { + "properties": { + "userUuid": { "type": "string" }, - "description": { + "firstName": { "type": "string" }, - "name": { + "lastName": { "type": "string" } }, "required": [ - "joinedTables", - "fields", - "modelName", - "label", - "name" + "userUuid", + "firstName", + "lastName" + ], + "type": "object", + "additionalProperties": true + }, + "DashboardTab": { + "properties": { + "order": { + "type": "number", + "format": "double" + }, + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": [ + "order", + "name", + "uuid" ], "type": "object" }, - "ChartKind": { - "enum": [ - "line", - "horizontal_bar", - "vertical_bar", - "scatter", - "area", - "mixed", - "pie", - "table", - "big_number", - "funnel", - "custom" - ], - "type": "string" - }, - "Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_": { + "Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__": { "properties": { "name": { "type": "string" }, + "description": { + "type": "string" + }, "uuid": { "type": "string" }, @@ -6517,16 +9810,65 @@ "spaceUuid": { "type": "string" }, - "dashboardUuid": { + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "pinnedListUuid": { "type": "string", "nullable": true }, - "dashboardName": { + "slug": { + "type": "string" + }, + "dashboardVersionId": { + "type": "number", + "format": "double" + }, + "updatedAt": { "type": "string", + "format": "date-time" + }, + "tiles": { + "items": { + "$ref": "#/components/schemas/DashboardTile" + }, + "type": "array" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { + "type": "number", + "format": "double" + }, + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], "nullable": true }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "tabs": { + "items": { + "$ref": "#/components/schemas/DashboardTab" + }, + "type": "array" } }, "required": [ @@ -6534,1280 +9876,1198 @@ "uuid", "spaceName", "spaceUuid", - "dashboardUuid", - "dashboardName" + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "slug", + "dashboardVersionId", + "updatedAt", + "tiles", + "filters", + "views", + "firstViewedAt", + "pinnedListOrder", + "tabs" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "CatalogAnalytics": { + "ApiPromoteDashboardResponse": { "properties": { - "charts": { - "items": { - "$ref": "#/components/schemas/Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_" - }, - "type": "array" + "results": { + "$ref": "#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "charts" + "results", + "status" ], "type": "object" }, - "Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_": { + "Pick_CompiledDimension.label-or-name_": { "properties": { - "text": { - "type": "string" - }, - "replyTo": { + "name": { "type": "string" }, - "mentions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "textHtml": { + "label": { "type": "string" } }, "required": [ - "text", - "mentions", - "textHtml" + "name", + "label" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiCreateComment": { + "CustomDimensionType.BIN": { + "enum": [ + "bin" + ], + "type": "string" + }, + "FieldId": { + "type": "string" + }, + "BinType": { + "enum": [ + "fixed_number", + "fixed_width", + "custom_range" + ], + "type": "string" + }, + "BinRange": { "properties": { - "results": { - "type": "string" + "to": { + "type": "number", + "format": "double" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "from": { + "type": "number", + "format": "double" } }, - "required": [ - "results", - "status" - ], "type": "object" }, - "Comment": { + "CustomBinDimension": { "properties": { - "mentions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "canRemove": { - "type": "boolean" - }, - "resolved": { - "type": "boolean" + "id": { + "type": "string" }, - "replies": { - "items": { - "$ref": "#/components/schemas/Comment" - }, - "type": "array" + "name": { + "type": "string" }, - "replyTo": { + "table": { "type": "string" }, - "user": { - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" + "type": { + "$ref": "#/components/schemas/CustomDimensionType.BIN" }, - "createdAt": { - "type": "string", - "format": "date-time" + "dimensionId": { + "$ref": "#/components/schemas/FieldId" }, - "textHtml": { - "type": "string" + "binType": { + "$ref": "#/components/schemas/BinType" }, - "text": { - "type": "string" + "binNumber": { + "type": "number", + "format": "double" }, - "commentId": { - "type": "string" - } - }, - "required": [ - "mentions", - "canRemove", - "resolved", - "user", - "createdAt", - "textHtml", - "text", - "commentId" - ], - "type": "object" - }, - "ApiGetComments": { - "properties": { - "results": { - "properties": {}, - "additionalProperties": { - "items": { - "$ref": "#/components/schemas/Comment" - }, - "type": "array" + "binWidth": { + "type": "number", + "format": "double" + }, + "customRange": { + "items": { + "$ref": "#/components/schemas/BinRange" }, - "type": "object" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "type": "array" } }, "required": [ - "results", - "status" + "id", + "name", + "table", + "type", + "dimensionId", + "binType" ], - "type": "object" + "type": "object", + "additionalProperties": true }, - "ApiResolveComment": { - "properties": { - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "status" + "CustomDimensionType.SQL": { + "enum": [ + "sql" ], - "type": "object" + "type": "string" }, - "ApiCsvUrlResponse": { + "CustomSqlDimension": { "properties": { - "results": { - "properties": { - "truncated": { - "type": "boolean" - }, - "status": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "truncated", - "status", - "url" - ], - "type": "object" + "id": { + "type": "string" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "name": { + "type": "string" + }, + "table": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/CustomDimensionType.SQL" + }, + "sql": { + "type": "string" + }, + "dimensionType": { + "$ref": "#/components/schemas/DimensionType" } }, "required": [ - "results", - "status" + "id", + "name", + "table", + "type", + "sql", + "dimensionType" ], - "type": "object" + "type": "object", + "additionalProperties": true }, - "DashboardTileTypes": { - "enum": [ - "saved_chart", - "sql_chart", - "semantic_viewer_chart", - "markdown", - "loom" - ], - "type": "string" + "CustomDimension": { + "anyOf": [ + { + "$ref": "#/components/schemas/CustomBinDimension" + }, + { + "$ref": "#/components/schemas/CustomSqlDimension" + } + ] }, - "Required_CreateDashboardTileBase_": { + "AdditionalMetric": { "properties": { - "uuid": { + "label": { "type": "string" }, "type": { - "$ref": "#/components/schemas/DashboardTileTypes" + "$ref": "#/components/schemas/MetricType" }, - "x": { - "type": "number", - "format": "double" + "description": { + "type": "string" }, - "y": { + "sql": { + "type": "string" + }, + "hidden": { + "type": "boolean" + }, + "round": { "type": "number", "format": "double" }, - "h": { + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "format": { + "$ref": "#/components/schemas/Format" + }, + "table": { + "type": "string" + }, + "name": { + "type": "string" + }, + "index": { "type": "number", "format": "double" }, - "w": { + "filters": { + "items": { + "$ref": "#/components/schemas/MetricFilterRule" + }, + "type": "array" + }, + "baseDimensionName": { + "type": "string" + }, + "uuid": { + "type": "string", + "nullable": true + }, + "percentile": { "type": "number", "format": "double" }, - "tabUuid": { - "type": "string" + "formatOptions": { + "$ref": "#/components/schemas/CustomFormat" } }, "required": [ - "uuid", "type", - "x", - "y", - "h", - "w" + "sql", + "table", + "name" ], "type": "object", - "description": "Make all properties in T required" + "additionalProperties": true }, - "DashboardTileTypes.SAVED_CHART": { + "TableCalculationType": { "enum": [ - "saved_chart" + "number", + "string", + "date", + "timestamp", + "boolean" ], "type": "string" }, - "DashboardChartTileProperties": { + "TableCalculation": { "properties": { - "properties": { - "properties": { - "lastVersionChartKind": { - "allOf": [ - { - "$ref": "#/components/schemas/ChartKind" - } - ], - "nullable": true - }, - "chartName": { - "type": "string", - "nullable": true - }, - "belongsToDashboard": { - "type": "boolean" - }, - "savedChartUuid": { - "type": "string", - "nullable": true - }, - "hideTitle": { - "type": "boolean" - }, - "title": { - "type": "string" - } - }, - "required": [ - "savedChartUuid" - ], - "type": "object" - }, "type": { - "$ref": "#/components/schemas/DashboardTileTypes.SAVED_CHART" + "$ref": "#/components/schemas/TableCalculationType" + }, + "format": { + "$ref": "#/components/schemas/CustomFormat" + }, + "sql": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "name": { + "type": "string" + }, + "index": { + "type": "number", + "format": "double" } }, "required": [ - "properties", - "type" + "sql", + "displayName", + "name" ], "type": "object" }, - "DashboardChartTile": { - "allOf": [ + "SortField": { + "properties": { + "descending": { + "type": "boolean" + }, + "fieldId": { + "type": "string" + } + }, + "required": [ + "descending", + "fieldId" + ], + "type": "object" + }, + "FilterGroup": { + "anyOf": [ { - "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + "$ref": "#/components/schemas/OrFilterGroup" }, { - "$ref": "#/components/schemas/DashboardChartTileProperties" + "$ref": "#/components/schemas/AndFilterGroup" } ] }, - "DashboardTileTypes.MARKDOWN": { - "enum": [ - "markdown" + "FieldTarget": { + "properties": { + "fieldId": { + "type": "string" + } + }, + "required": [ + "fieldId" ], - "type": "string" + "type": "object" }, - "DashboardMarkdownTileProperties": { + "FilterRule": { "properties": { - "properties": { - "properties": { - "content": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "required": [ - "content", - "title" - ], - "type": "object" + "values": { + "items": {}, + "type": "array" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.MARKDOWN" + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" + }, + "id": { + "type": "string" + }, + "target": { + "$ref": "#/components/schemas/FieldTarget" + }, + "settings": {}, + "disabled": { + "type": "boolean" + }, + "required": { + "type": "boolean" } }, "required": [ - "properties", - "type" + "operator", + "id", + "target" ], - "type": "object" + "type": "object", + "additionalProperties": true }, - "DashboardMarkdownTile": { - "allOf": [ + "FilterGroupItem": { + "anyOf": [ { - "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + "$ref": "#/components/schemas/FilterGroup" }, { - "$ref": "#/components/schemas/DashboardMarkdownTileProperties" + "$ref": "#/components/schemas/FilterRule" } ] }, - "DashboardTileTypes.LOOM": { - "enum": [ - "loom" + "OrFilterGroup": { + "properties": { + "or": { + "items": { + "$ref": "#/components/schemas/FilterGroupItem" + }, + "type": "array" + }, + "id": { + "type": "string" + } + }, + "required": [ + "or", + "id" ], - "type": "string" + "type": "object" }, - "DashboardLoomTileProperties": { + "AndFilterGroup": { "properties": { - "properties": { - "properties": { - "url": { - "type": "string" - }, - "hideTitle": { - "type": "boolean" - }, - "title": { - "type": "string" - } + "and": { + "items": { + "$ref": "#/components/schemas/FilterGroupItem" }, - "required": [ - "url", - "title" - ], - "type": "object" + "type": "array" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.LOOM" + "id": { + "type": "string" } }, "required": [ - "properties", - "type" + "and", + "id" ], "type": "object" }, - "DashboardLoomTile": { - "allOf": [ - { - "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + "Filters": { + "properties": { + "tableCalculations": { + "$ref": "#/components/schemas/FilterGroup" }, - { - "$ref": "#/components/schemas/DashboardLoomTileProperties" + "metrics": { + "$ref": "#/components/schemas/FilterGroup" + }, + "dimensions": { + "$ref": "#/components/schemas/FilterGroup" } - ] - }, - "DashboardTileTypes.SQL_CHART": { - "enum": [ - "sql_chart" - ], - "type": "string" + }, + "type": "object" }, - "DashboardSqlChartTileProperties": { + "MetricQuery": { "properties": { - "properties": { + "metadata": { "properties": { - "hideTitle": { - "type": "boolean" - }, - "chartName": { - "type": "string" - }, - "savedSqlUuid": { - "type": "string", - "nullable": true - }, - "title": { - "type": "string" + "hasADateDimension": { + "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" } }, "required": [ - "chartName", - "savedSqlUuid" + "hasADateDimension" ], "type": "object" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.SQL_CHART" + "timezone": { + "type": "string" + }, + "customDimensions": { + "items": { + "$ref": "#/components/schemas/CustomDimension" + }, + "type": "array" + }, + "additionalMetrics": { + "items": { + "$ref": "#/components/schemas/AdditionalMetric" + }, + "type": "array" + }, + "tableCalculations": { + "items": { + "$ref": "#/components/schemas/TableCalculation" + }, + "type": "array" + }, + "limit": { + "type": "number", + "format": "double" + }, + "sorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" + }, + "filters": { + "$ref": "#/components/schemas/Filters" + }, + "metrics": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "dimensions": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "exploreName": { + "type": "string" } }, "required": [ - "properties", - "type" + "tableCalculations", + "limit", + "sorts", + "filters", + "metrics", + "dimensions", + "exploreName" ], "type": "object" }, - "DashboardSqlChartTile": { - "allOf": [ - { - "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + "ComparisonFormatTypes": { + "enum": [ + "raw", + "percentage" + ], + "type": "string" + }, + "BigNumber": { + "properties": { + "comparisonLabel": { + "type": "string" + }, + "flipColors": { + "type": "boolean" + }, + "comparisonFormat": { + "$ref": "#/components/schemas/ComparisonFormatTypes" + }, + "showComparison": { + "type": "boolean" + }, + "showBigNumberLabel": { + "type": "boolean" + }, + "selectedField": { + "type": "string" + }, + "style": { + "$ref": "#/components/schemas/CompactOrAlias" }, - { - "$ref": "#/components/schemas/DashboardSqlChartTileProperties" + "label": { + "type": "string" } - ] + }, + "type": "object" }, - "DashboardTileTypes.SEMANTIC_VIEWER_CHART": { + "ChartType.BIG_NUMBER": { "enum": [ - "semantic_viewer_chart" + "big_number" ], "type": "string" }, - "DashboardSemanticViewerChartTileProperties": { + "BigNumberConfig": { "properties": { - "properties": { - "properties": { - "hideTitle": { - "type": "boolean" - }, - "chartName": { - "type": "string" - }, - "savedSemanticViewerChartUuid": { - "type": "string", - "nullable": true - }, - "title": { - "type": "string" - } - }, - "required": [ - "chartName", - "savedSemanticViewerChartUuid" - ], - "type": "object" + "config": { + "$ref": "#/components/schemas/BigNumber" }, "type": { - "$ref": "#/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART" + "$ref": "#/components/schemas/ChartType.BIG_NUMBER" } }, "required": [ - "properties", "type" ], "type": "object" }, - "DashboardSemanticViewerChartTile": { - "allOf": [ - { - "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" - }, - { - "$ref": "#/components/schemas/DashboardSemanticViewerChartTileProperties" - } - ] + "Record_string.SeriesMetadata_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "DashboardTile": { - "anyOf": [ - { - "$ref": "#/components/schemas/DashboardChartTile" + "EchartsLegend": { + "properties": { + "icon": { + "type": "string", + "enum": [ + "circle", + "rect", + "roundRect", + "triangle", + "diamond", + "pin", + "arrow", + "none" + ] }, - { - "$ref": "#/components/schemas/DashboardMarkdownTile" + "align": { + "type": "string", + "enum": [ + "auto", + "left", + "right" + ] }, - { - "$ref": "#/components/schemas/DashboardLoomTile" + "height": { + "type": "string" }, - { - "$ref": "#/components/schemas/DashboardSqlChartTile" + "width": { + "type": "string" }, - { - "$ref": "#/components/schemas/DashboardSemanticViewerChartTile" - } - ] - }, - "ConditionalOperator": { - "enum": [ - "isNull", - "notNull", - "equals", - "notEquals", - "startsWith", - "endsWith", - "include", - "doesNotInclude", - "lessThan", - "lessThanOrEqual", - "greaterThan", - "greaterThanOrEqual", - "inThePast", - "notInThePast", - "inTheNext", - "inTheCurrent", - "notInTheCurrent", - "inBetween" - ], - "type": "string" - }, - "DashboardFieldTarget": { - "properties": { - "tableName": { + "left": { "type": "string" }, - "fieldId": { + "bottom": { + "type": "string" + }, + "right": { "type": "string" + }, + "top": { + "type": "string" + }, + "orient": { + "type": "string", + "enum": [ + "horizontal", + "vertical" + ] + }, + "type": { + "type": "string", + "enum": [ + "plain", + "scroll" + ] + }, + "show": { + "type": "boolean" } }, - "required": [ - "tableName", - "fieldId" - ], "type": "object" }, - "FilterRule_ConditionalOperator.T.V.any_": { + "EchartsGrid": { "properties": { - "values": { - "items": {}, - "type": "array" + "height": { + "type": "string" }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" + "width": { + "type": "string" }, - "id": { + "left": { "type": "string" }, - "target": { - "$ref": "#/components/schemas/DashboardFieldTarget" + "bottom": { + "type": "string" }, - "settings": {}, - "disabled": { - "type": "boolean" + "right": { + "type": "string" }, - "required": { + "top": { + "type": "string" + }, + "containLabel": { "type": "boolean" } }, - "required": [ - "operator", - "id", - "target" - ], - "type": "object", - "additionalProperties": true - }, - "Record_string.DashboardTileTarget_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "type": "object" }, - "DashboardFilterRule": { - "allOf": [ - { - "$ref": "#/components/schemas/FilterRule_ConditionalOperator.T.V.any_" + "MarkLineData": { + "properties": { + "dynamicValue": { + "type": "string", + "enum": [ + "average" + ], + "nullable": false }, - { + "label": { "properties": { - "label": { - "type": "string" + "position": { + "type": "string", + "enum": [ + "start", + "middle", + "end" + ] }, - "tileTargets": { - "$ref": "#/components/schemas/Record_string.DashboardTileTarget_" + "formatter": { + "type": "string" } }, "type": "object" - } - ] - }, - "DashboardFilters": { - "properties": { - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/DashboardFilterRule" - }, - "type": "array" - }, - "metrics": { - "items": { - "$ref": "#/components/schemas/DashboardFilterRule" - }, - "type": "array" }, - "dimensions": { - "items": { - "$ref": "#/components/schemas/DashboardFilterRule" + "lineStyle": { + "properties": { + "color": { + "type": "string" + } }, - "type": "array" - } - }, - "required": [ - "tableCalculations", - "metrics", - "dimensions" - ], - "type": "object" - }, - "UpdatedByUser": { - "properties": { - "userUuid": { + "required": [ + "color" + ], + "type": "object" + }, + "uuid": { "type": "string" }, - "firstName": { + "type": { "type": "string" }, - "lastName": { + "value": { "type": "string" - } - }, - "required": [ - "userUuid", - "firstName", - "lastName" - ], - "type": "object", - "additionalProperties": true - }, - "DashboardTab": { - "properties": { - "order": { - "type": "number", - "format": "double" }, "name": { "type": "string" }, - "uuid": { + "xAxis": { + "type": "string" + }, + "yAxis": { "type": "string" } }, "required": [ - "order", - "name", "uuid" ], "type": "object" }, - "Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__": { + "MarkLine": { "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "uuid": { - "type": "string" - }, - "spaceName": { - "type": "string" - }, - "spaceUuid": { - "type": "string" - }, - "projectUuid": { - "type": "string" - }, - "organizationUuid": { - "type": "string" - }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "slug": { - "type": "string" - }, - "dashboardVersionId": { - "type": "number", - "format": "double" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "tiles": { - "items": { - "$ref": "#/components/schemas/DashboardTile" + "label": { + "properties": { + "formatter": { + "type": "string" + } }, - "type": "array" - }, - "filters": { - "$ref": "#/components/schemas/DashboardFilters" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" - }, - "views": { - "type": "number", - "format": "double" + "type": "object" }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" + "lineStyle": { + "properties": { + "type": { + "type": "string" }, - { + "width": { + "type": "number", + "format": "double" + }, + "color": { "type": "string" } + }, + "required": [ + "type", + "width", + "color" ], - "nullable": true + "type": "object" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "symbol": { + "type": "string" }, - "tabs": { + "data": { "items": { - "$ref": "#/components/schemas/DashboardTab" + "$ref": "#/components/schemas/MarkLineData" }, "type": "array" } }, "required": [ - "name", - "uuid", - "spaceName", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "slug", - "dashboardVersionId", - "updatedAt", - "tiles", - "filters", - "views", - "firstViewedAt", - "pinnedListOrder", - "tabs" + "data" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "ApiPromoteDashboardResponse": { + "CartesianSeriesType": { + "enum": [ + "line", + "bar", + "scatter", + "area" + ], + "type": "string" + }, + "PivotValue": { "properties": { - "results": { - "$ref": "#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "value": {}, + "field": { + "type": "string" } }, "required": [ - "results", - "status" + "value", + "field" ], "type": "object" }, - "Pick_CompiledDimension.label-or-name_": { + "PivotReference": { "properties": { - "name": { - "type": "string" + "pivotValues": { + "items": { + "$ref": "#/components/schemas/PivotValue" + }, + "type": "array" }, - "label": { + "field": { "type": "string" } }, "required": [ - "name", - "label" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "CustomDimensionType.BIN": { - "enum": [ - "bin" - ], - "type": "string" - }, - "FieldId": { - "type": "string" - }, - "BinType": { - "enum": [ - "fixed_number", - "fixed_width", - "custom_range" + "field" ], - "type": "string" + "type": "object" }, - "BinRange": { + "Series": { "properties": { - "to": { - "type": "number", - "format": "double" + "markLine": { + "$ref": "#/components/schemas/MarkLine" }, - "from": { + "smooth": { + "type": "boolean" + }, + "showSymbol": { + "type": "boolean" + }, + "areaStyle": { + "properties": {}, + "type": "object" + }, + "hidden": { + "type": "boolean" + }, + "label": { + "properties": { + "position": { + "type": "string", + "enum": [ + "left", + "top", + "right", + "bottom", + "inside" + ] + }, + "show": { + "type": "boolean" + } + }, + "type": "object" + }, + "yAxisIndex": { "type": "number", "format": "double" - } - }, - "type": "object" - }, - "CustomBinDimension": { - "properties": { - "id": { + }, + "color": { "type": "string" }, "name": { "type": "string" }, - "table": { + "stackLabel": { + "properties": { + "show": { + "type": "boolean" + } + }, + "type": "object" + }, + "stack": { "type": "string" }, "type": { - "$ref": "#/components/schemas/CustomDimensionType.BIN" - }, - "dimensionId": { - "$ref": "#/components/schemas/FieldId" - }, - "binType": { - "$ref": "#/components/schemas/BinType" - }, - "binNumber": { - "type": "number", - "format": "double" - }, - "binWidth": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/CartesianSeriesType" }, - "customRange": { - "items": { - "$ref": "#/components/schemas/BinRange" + "encode": { + "properties": { + "y": { + "type": "string" + }, + "x": { + "type": "string" + }, + "yRef": { + "$ref": "#/components/schemas/PivotReference" + }, + "xRef": { + "$ref": "#/components/schemas/PivotReference" + } }, - "type": "array" + "required": [ + "yRef", + "xRef" + ], + "type": "object" } }, "required": [ - "id", - "name", - "table", "type", - "dimensionId", - "binType" - ], - "type": "object", - "additionalProperties": true - }, - "CustomDimensionType.SQL": { - "enum": [ - "sql" - ], - "type": "string" - }, - "DimensionType": { - "enum": [ - "string", - "number", - "timestamp", - "date", - "boolean" + "encode" ], - "type": "string" + "type": "object" }, - "CustomSqlDimension": { + "Axis": { "properties": { - "id": { - "type": "string" + "rotate": { + "type": "number", + "format": "double" }, - "name": { + "inverse": { + "type": "boolean" + }, + "maxOffset": { "type": "string" }, - "table": { + "minOffset": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/CustomDimensionType.SQL" + "max": { + "type": "string" }, - "sql": { + "min": { "type": "string" }, - "dimensionType": { - "$ref": "#/components/schemas/DimensionType" + "name": { + "type": "string" } }, - "required": [ - "id", - "name", - "table", - "type", - "sql", - "dimensionType" - ], - "type": "object", - "additionalProperties": true + "type": "object" }, - "CustomDimension": { - "anyOf": [ - { - "$ref": "#/components/schemas/CustomBinDimension" + "Partial_CompleteEChartsConfig_": { + "properties": { + "legend": { + "$ref": "#/components/schemas/EchartsLegend" }, - { - "$ref": "#/components/schemas/CustomSqlDimension" - } - ] - }, - "MetricType": { - "enum": [ - "percentile", - "average", - "count", - "count_distinct", - "sum", - "min", - "max", - "number", - "median", - "string", - "date", - "timestamp", - "boolean" - ], - "type": "string" - }, - "Compact": { - "enum": [ - "thousands", - "millions", - "billions", - "trillions" - ], - "type": "string" - }, - "CompactOrAlias": { - "anyOf": [ - { - "$ref": "#/components/schemas/Compact" + "grid": { + "$ref": "#/components/schemas/EchartsGrid" }, - { - "type": "string", - "enum": [ - "K", - "thousand", - "M", - "million", - "B", - "billion", - "T", - "trillion" - ] - } - ] - }, - "Format": { - "enum": [ - "km", - "mi", - "usd", - "gbp", - "eur", - "id", - "percent" - ], - "type": "string" - }, - "MetricFilterRule": { - "properties": { - "values": { - "items": {}, + "series": { + "items": { + "$ref": "#/components/schemas/Series" + }, "type": "array" }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" + "xAxis": { + "items": { + "$ref": "#/components/schemas/Axis" + }, + "type": "array" }, - "id": { + "yAxis": { + "items": { + "$ref": "#/components/schemas/Axis" + }, + "type": "array" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_CompleteCartesianChartLayout_": { + "properties": { + "xField": { "type": "string" }, - "target": { - "properties": { - "fieldRef": { - "type": "string" - } + "yField": { + "items": { + "type": "string" }, - "required": [ - "fieldRef" - ], - "type": "object" + "type": "array" }, - "settings": {}, - "disabled": { + "flipAxes": { "type": "boolean" }, - "required": { + "showGridX": { + "type": "boolean" + }, + "showGridY": { "type": "boolean" } }, - "required": [ - "operator", - "id", - "target" - ], "type": "object", - "additionalProperties": true + "description": "Make all properties in T optional" }, - "CustomFormatType": { - "enum": [ - "default", - "percent", - "currency", - "number", - "id", - "date", - "timestamp" + "CartesianChart": { + "properties": { + "metadata": { + "$ref": "#/components/schemas/Record_string.SeriesMetadata_" + }, + "eChartsConfig": { + "$ref": "#/components/schemas/Partial_CompleteEChartsConfig_" + }, + "layout": { + "$ref": "#/components/schemas/Partial_CompleteCartesianChartLayout_" + } + }, + "required": [ + "eChartsConfig", + "layout" ], - "type": "string" + "type": "object" }, - "NumberSeparator": { + "ChartType.CARTESIAN": { "enum": [ - "default", - "commaPeriod", - "spacePeriod", - "periodComma", - "noSeparatorPeriod" + "cartesian" ], "type": "string" }, - "TimeFrames": { + "CartesianChartConfig": { + "properties": { + "config": { + "$ref": "#/components/schemas/CartesianChart" + }, + "type": { + "$ref": "#/components/schemas/ChartType.CARTESIAN" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "CustomVis": { + "properties": { + "spec": { + "additionalProperties": true, + "type": "object" + } + }, + "type": "object" + }, + "ChartType.CUSTOM": { "enum": [ - "RAW", - "YEAR", - "QUARTER", - "MONTH", - "WEEK", - "DAY", - "HOUR", - "MINUTE", - "SECOND", - "MILLISECOND", - "DAY_OF_WEEK_INDEX", - "DAY_OF_MONTH_NUM", - "DAY_OF_YEAR_NUM", - "WEEK_NUM", - "MONTH_NUM", - "QUARTER_NUM", - "YEAR_NUM", - "DAY_OF_WEEK_NAME", - "MONTH_NAME", - "QUARTER_NAME", - "HOUR_OF_DAY_NUM", - "MINUTE_OF_HOUR_NUM" + "custom" ], "type": "string" }, - "CustomFormat": { + "CustomVisConfig": { "properties": { - "type": { - "$ref": "#/components/schemas/CustomFormatType" - }, - "round": { - "type": "number", - "format": "double" - }, - "separator": { - "$ref": "#/components/schemas/NumberSeparator" - }, - "currency": { - "type": "string" - }, - "compact": { - "$ref": "#/components/schemas/CompactOrAlias" - }, - "prefix": { - "type": "string" - }, - "suffix": { - "type": "string" + "config": { + "$ref": "#/components/schemas/CustomVis" }, - "timeInterval": { - "$ref": "#/components/schemas/TimeFrames" + "type": { + "$ref": "#/components/schemas/ChartType.CUSTOM" } }, "required": [ "type" ], + "type": "object" + }, + "PieChartLegendPosition": { + "type": "string", + "enum": [ + "horizontal", + "vertical" + ], + "nullable": false + }, + "Record_string.Partial_PieChartValueOptions__": { + "properties": {}, "type": "object", - "additionalProperties": true + "description": "Construct a type with a set of properties K of type T" }, - "AdditionalMetric": { + "PieChartValueLabel": { + "type": "string", + "enum": [ + "hidden", + "inside", + "outside" + ], + "nullable": false + }, + "PieChart": { "properties": { - "label": { - "type": "string" + "metadata": { + "$ref": "#/components/schemas/Record_string.SeriesMetadata_" }, - "type": { - "$ref": "#/components/schemas/MetricType" + "legendPosition": { + "$ref": "#/components/schemas/PieChartLegendPosition" }, - "description": { - "type": "string" + "showLegend": { + "type": "boolean" }, - "sql": { - "type": "string" + "groupSortOverrides": { + "items": { + "type": "string" + }, + "type": "array" }, - "hidden": { - "type": "boolean" + "groupValueOptionOverrides": { + "$ref": "#/components/schemas/Record_string.Partial_PieChartValueOptions__" }, - "round": { - "type": "number", - "format": "double" + "groupColorOverrides": { + "$ref": "#/components/schemas/Record_string.string_" }, - "compact": { - "$ref": "#/components/schemas/CompactOrAlias" + "groupLabelOverrides": { + "$ref": "#/components/schemas/Record_string.string_" }, - "format": { - "$ref": "#/components/schemas/Format" + "showPercentage": { + "type": "boolean" }, - "table": { - "type": "string" + "showValue": { + "type": "boolean" }, - "name": { - "type": "string" + "valueLabel": { + "$ref": "#/components/schemas/PieChartValueLabel" }, - "index": { - "type": "number", - "format": "double" + "isDonut": { + "type": "boolean" }, - "filters": { + "metricId": { + "type": "string" + }, + "groupFieldIds": { "items": { - "$ref": "#/components/schemas/MetricFilterRule" + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "ChartType.PIE": { + "enum": [ + "pie" + ], + "type": "string" + }, + "PieChartConfig": { + "properties": { + "config": { + "$ref": "#/components/schemas/PieChart" }, - "baseDimensionName": { - "type": "string" - }, - "uuid": { - "type": "string", - "nullable": true - }, - "percentile": { - "type": "number", - "format": "double" - }, - "formatOptions": { - "$ref": "#/components/schemas/CustomFormat" + "type": { + "$ref": "#/components/schemas/ChartType.PIE" } }, "required": [ - "type", - "sql", - "table", - "name" + "type" ], - "type": "object", - "additionalProperties": true + "type": "object" }, - "TableCalculationType": { + "FunnelChartLegendPosition": { "enum": [ - "number", - "string", - "date", - "timestamp", - "boolean" + "horizontal", + "vertical" ], "type": "string" }, - "TableCalculation": { + "FunnelChartLabelPosition": { + "enum": [ + "inside", + "left", + "right", + "hidden" + ], + "type": "string" + }, + "FunnelChartDataInput": { + "enum": [ + "row", + "column" + ], + "type": "string" + }, + "FunnelChart": { "properties": { - "type": { - "$ref": "#/components/schemas/TableCalculationType" + "legendPosition": { + "$ref": "#/components/schemas/FunnelChartLegendPosition" }, - "format": { - "$ref": "#/components/schemas/CustomFormat" + "showLegend": { + "type": "boolean" }, - "sql": { - "type": "string" + "labels": { + "properties": { + "showPercentage": { + "type": "boolean" + }, + "showValue": { + "type": "boolean" + }, + "position": { + "$ref": "#/components/schemas/FunnelChartLabelPosition" + } + }, + "type": "object" }, - "displayName": { - "type": "string" + "colorOverrides": { + "$ref": "#/components/schemas/Record_string.string_" }, - "name": { - "type": "string" + "labelOverrides": { + "$ref": "#/components/schemas/Record_string.string_" }, - "index": { - "type": "number", - "format": "double" - } - }, - "required": [ - "sql", - "displayName", - "name" - ], - "type": "object" - }, - "SortField": { - "properties": { - "descending": { - "type": "boolean" + "metadata": { + "$ref": "#/components/schemas/Record_string.SeriesMetadata_" }, "fieldId": { "type": "string" + }, + "dataInput": { + "$ref": "#/components/schemas/FunnelChartDataInput" } }, - "required": [ - "descending", - "fieldId" - ], "type": "object" }, - "FilterGroup": { - "anyOf": [ - { - "$ref": "#/components/schemas/OrFilterGroup" - }, - { - "$ref": "#/components/schemas/AndFilterGroup" - } - ] + "ChartType.FUNNEL": { + "enum": [ + "funnel" + ], + "type": "string" }, - "FieldTarget": { + "FunnelChartConfig": { "properties": { - "fieldId": { - "type": "string" + "config": { + "$ref": "#/components/schemas/FunnelChart" + }, + "type": { + "$ref": "#/components/schemas/ChartType.FUNNEL" } }, "required": [ - "fieldId" + "type" ], "type": "object" }, - "FilterRule": { + "ConditionalRule_ConditionalOperator.number_": { "properties": { "values": { - "items": {}, + "items": { + "type": "number", + "format": "double" + }, "type": "array" }, "operator": { @@ -7815,209 +11075,187 @@ }, "id": { "type": "string" - }, - "target": { - "$ref": "#/components/schemas/FieldTarget" - }, - "settings": {}, - "disabled": { - "type": "boolean" - }, - "required": { - "type": "boolean" } }, "required": [ "operator", - "id", - "target" + "id" ], - "type": "object", - "additionalProperties": true + "type": "object" }, - "FilterGroupItem": { - "anyOf": [ + "ConditionalFormattingWithConditionalOperator": { + "allOf": [ { - "$ref": "#/components/schemas/FilterGroup" + "$ref": "#/components/schemas/ConditionalRule_ConditionalOperator.number_" }, { - "$ref": "#/components/schemas/FilterRule" + "properties": { + "values": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array" + } + }, + "required": [ + "values" + ], + "type": "object" } ] }, - "OrFilterGroup": { + "ConditionalFormattingConfigWithSingleColor": { "properties": { - "or": { + "rules": { "items": { - "$ref": "#/components/schemas/FilterGroupItem" + "$ref": "#/components/schemas/ConditionalFormattingWithConditionalOperator" }, "type": "array" }, - "id": { + "color": { "type": "string" + }, + "target": { + "allOf": [ + { + "$ref": "#/components/schemas/FieldTarget" + } + ], + "nullable": true } }, "required": [ - "or", - "id" + "rules", + "color", + "target" ], "type": "object" }, - "AndFilterGroup": { + "ConditionalFormattingWithRange": { "properties": { - "and": { - "items": { - "$ref": "#/components/schemas/FilterGroupItem" - }, - "type": "array" + "max": { + "type": "number", + "format": "double" }, - "id": { - "type": "string" + "min": { + "type": "number", + "format": "double" } }, "required": [ - "and", - "id" + "max", + "min" ], "type": "object" }, - "Filters": { + "ConditionalFormattingConfigWithColorRange": { "properties": { - "tableCalculations": { - "$ref": "#/components/schemas/FilterGroup" - }, - "metrics": { - "$ref": "#/components/schemas/FilterGroup" + "rule": { + "$ref": "#/components/schemas/ConditionalFormattingWithRange" }, - "dimensions": { - "$ref": "#/components/schemas/FilterGroup" - } - }, - "type": "object" - }, - "MetricQuery": { - "properties": { - "metadata": { + "color": { "properties": { - "hasADateDimension": { - "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" + "steps": { + "type": "number", + "enum": [ + 5 + ], + "nullable": false + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" } }, "required": [ - "hasADateDimension" + "steps", + "end", + "start" ], "type": "object" }, - "timezone": { - "type": "string" - }, - "customDimensions": { - "items": { - "$ref": "#/components/schemas/CustomDimension" - }, - "type": "array" - }, - "additionalMetrics": { - "items": { - "$ref": "#/components/schemas/AdditionalMetric" - }, - "type": "array" - }, - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/TableCalculation" - }, - "type": "array" - }, - "limit": { - "type": "number", - "format": "double" - }, - "sorts": { - "items": { - "$ref": "#/components/schemas/SortField" - }, - "type": "array" - }, - "filters": { - "$ref": "#/components/schemas/Filters" - }, - "metrics": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" - }, - "dimensions": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" - }, - "exploreName": { - "type": "string" + "target": { + "allOf": [ + { + "$ref": "#/components/schemas/FieldTarget" + } + ], + "nullable": true } }, "required": [ - "tableCalculations", - "limit", - "sorts", - "filters", - "metrics", - "dimensions", - "exploreName" + "rule", + "color", + "target" ], "type": "object" }, - "ComparisonFormatTypes": { - "enum": [ - "raw", - "percentage" - ], - "type": "string" + "ConditionalFormattingConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/ConditionalFormattingConfigWithSingleColor" + }, + { + "$ref": "#/components/schemas/ConditionalFormattingConfigWithColorRange" + } + ] }, - "BigNumber": { + "Record_string.ColumnProperties_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "TableChart": { "properties": { - "comparisonLabel": { - "type": "string" - }, - "flipColors": { + "metricsAsRows": { "type": "boolean" }, - "comparisonFormat": { - "$ref": "#/components/schemas/ComparisonFormatTypes" + "conditionalFormattings": { + "items": { + "$ref": "#/components/schemas/ConditionalFormattingConfig" + }, + "type": "array" }, - "showComparison": { + "columns": { + "$ref": "#/components/schemas/Record_string.ColumnProperties_" + }, + "showSubtotals": { "type": "boolean" }, - "showBigNumberLabel": { + "showResultsTotal": { "type": "boolean" }, - "selectedField": { - "type": "string" + "hideRowNumbers": { + "type": "boolean" }, - "style": { - "$ref": "#/components/schemas/CompactOrAlias" + "showTableNames": { + "type": "boolean" }, - "label": { - "type": "string" + "showRowCalculation": { + "type": "boolean" + }, + "showColumnCalculation": { + "type": "boolean" } }, "type": "object" }, - "ChartType.BIG_NUMBER": { + "ChartType.TABLE": { "enum": [ - "big_number" + "table" ], "type": "string" }, - "BigNumberConfig": { + "TableChartConfig": { "properties": { "config": { - "$ref": "#/components/schemas/BigNumber" + "$ref": "#/components/schemas/TableChart" }, "type": { - "$ref": "#/components/schemas/ChartType.BIG_NUMBER" + "$ref": "#/components/schemas/ChartType.TABLE" } }, "required": [ @@ -8025,1175 +11263,1317 @@ ], "type": "object" }, - "Record_string.SeriesMetadata_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "ChartConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/BigNumberConfig" + }, + { + "$ref": "#/components/schemas/CartesianChartConfig" + }, + { + "$ref": "#/components/schemas/CustomVisConfig" + }, + { + "$ref": "#/components/schemas/PieChartConfig" + }, + { + "$ref": "#/components/schemas/FunnelChartConfig" + }, + { + "$ref": "#/components/schemas/TableChartConfig" + } + ] }, - "EchartsLegend": { + "Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__": { "properties": { - "icon": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceName": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "pinnedListUuid": { "type": "string", - "enum": [ - "circle", - "rect", - "roundRect", - "triangle", - "diamond", - "pin", - "arrow", - "none" - ] + "nullable": true }, - "align": { + "dashboardUuid": { "type": "string", - "enum": [ - "auto", - "left", - "right" - ] + "nullable": true }, - "height": { + "dashboardName": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "metricQuery": { + "$ref": "#/components/schemas/MetricQuery" + }, + "pivotConfig": { + "properties": { + "columns": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "columns" + ], + "type": "object" + }, + "chartConfig": { + "$ref": "#/components/schemas/ChartConfig" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "columnOrder" + ], + "type": "object" + }, + "colorPalette": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "uuid", + "spaceName", + "spaceUuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "dashboardUuid", + "dashboardName", + "slug", + "tableName", + "updatedAt", + "pinnedListOrder", + "metricQuery", + "chartConfig", + "tableConfig", + "colorPalette" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "PromotedChart": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__" + }, + { + "properties": { + "oldUuid": { + "type": "string" + }, + "spaceSlug": { + "type": "string" + } + }, + "required": [ + "oldUuid", + "spaceSlug" + ], + "type": "object" + } + ] + }, + "PromotionAction": { + "enum": [ + "no changes", + "create", + "update", + "delete" + ], + "type": "string" + }, + "PromotedDashboard": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__" + }, + { + "properties": { + "spaceSlug": { + "type": "string" + } + }, + "required": [ + "spaceSlug" + ], + "type": "object" + } + ] + }, + "Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__": { + "properties": { + "name": { "type": "string" }, - "width": { + "uuid": { "type": "string" }, - "left": { + "projectUuid": { "type": "string" }, - "bottom": { + "organizationUuid": { "type": "string" }, - "right": { - "type": "string" + "pinnedListUuid": { + "type": "string", + "nullable": true }, - "top": { + "slug": { "type": "string" }, - "orient": { - "type": "string", - "enum": [ - "horizontal", - "vertical" - ] + "isPrivate": { + "type": "boolean" }, - "type": { - "type": "string", - "enum": [ - "plain", - "scroll" - ] + "access": { + "items": { + "type": "string" + }, + "type": "array" }, - "show": { - "type": "boolean" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "chartCount": { + "type": "number", + "format": "double" + }, + "dashboardCount": { + "type": "number", + "format": "double" } }, - "type": "object" + "required": [ + "name", + "uuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "slug", + "isPrivate", + "access", + "pinnedListOrder", + "chartCount", + "dashboardCount" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "EchartsGrid": { + "PromotionChanges": { "properties": { - "height": { - "type": "string" - }, - "width": { - "type": "string" - }, - "left": { - "type": "string" - }, - "bottom": { - "type": "string" - }, - "right": { - "type": "string" + "charts": { + "items": { + "properties": { + "data": { + "$ref": "#/components/schemas/PromotedChart" + }, + "action": { + "$ref": "#/components/schemas/PromotionAction" + } + }, + "required": [ + "data", + "action" + ], + "type": "object" + }, + "type": "array" }, - "top": { - "type": "string" + "dashboards": { + "items": { + "properties": { + "data": { + "$ref": "#/components/schemas/PromotedDashboard" + }, + "action": { + "$ref": "#/components/schemas/PromotionAction" + } + }, + "required": [ + "data", + "action" + ], + "type": "object" + }, + "type": "array" }, - "containLabel": { - "type": "boolean" + "spaces": { + "items": { + "properties": { + "data": { + "$ref": "#/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__" + }, + "action": { + "$ref": "#/components/schemas/PromotionAction" + } + }, + "required": [ + "data", + "action" + ], + "type": "object" + }, + "type": "array" } }, + "required": [ + "charts", + "dashboards", + "spaces" + ], "type": "object" }, - "MarkLineData": { + "ApiPromotionChangesResponse": { "properties": { - "dynamicValue": { + "results": { + "$ref": "#/components/schemas/PromotionChanges" + }, + "status": { "type": "string", "enum": [ - "average" + "ok" ], "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "ExploreType": { + "enum": [ + "virtual", + "default" + ], + "type": "string" + }, + "Pick_Explore.SummaryExploreFields_": { + "properties": { + "name": { + "type": "string" }, "label": { - "properties": { - "position": { - "type": "string", - "enum": [ - "start", - "middle", - "end" - ] - }, - "formatter": { - "type": "string" - } - }, - "type": "object" - }, - "lineStyle": { - "properties": { - "color": { - "type": "string" - } - }, - "required": [ - "color" - ], - "type": "object" - }, - "uuid": { "type": "string" }, - "type": { + "groupLabel": { "type": "string" }, - "value": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ExploreType" }, - "name": { + "tags": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "label", + "tags" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "SummaryExtraFields": { + "properties": { + "databaseName": { "type": "string" }, - "xAxis": { + "schemaName": { "type": "string" }, - "yAxis": { + "description": { "type": "string" } }, "required": [ - "uuid" + "databaseName", + "schemaName" ], "type": "object" }, - "MarkLine": { + "Pick_ExploreError.SummaryExploreErrorFields_": { "properties": { - "label": { - "properties": { - "formatter": { - "type": "string" - } - }, - "type": "object" + "name": { + "type": "string" }, - "lineStyle": { - "properties": { - "type": { - "type": "string" - }, - "width": { - "type": "number", - "format": "double" - }, - "color": { - "type": "string" - } - }, - "required": [ - "type", - "width", - "color" - ], - "type": "object" + "label": { + "type": "string" }, - "symbol": { + "groupLabel": { "type": "string" }, - "data": { + "type": { + "$ref": "#/components/schemas/ExploreType" + }, + "tags": { "items": { - "$ref": "#/components/schemas/MarkLineData" + "type": "string" + }, + "type": "array" + }, + "errors": { + "items": { + "$ref": "#/components/schemas/InlineError" }, "type": "array" } }, "required": [ - "data" - ], - "type": "object" - }, - "CartesianSeriesType": { - "enum": [ - "line", - "bar", - "scatter", - "area" + "name", + "label", + "tags", + "errors" ], - "type": "string" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "PivotValue": { + "Partial_SummaryExtraFields_": { "properties": { - "value": {}, - "field": { + "description": { + "type": "string" + }, + "schemaName": { + "type": "string" + }, + "databaseName": { "type": "string" } }, - "required": [ - "value", - "field" - ], - "type": "object" + "type": "object", + "description": "Make all properties in T optional" }, - "PivotReference": { - "properties": { - "pivotValues": { - "items": { - "$ref": "#/components/schemas/PivotValue" - }, - "type": "array" + "SummaryExplore": { + "anyOf": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Explore.SummaryExploreFields_" + }, + { + "$ref": "#/components/schemas/SummaryExtraFields" + } + ] }, - "field": { - "type": "string" + { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_" + }, + { + "$ref": "#/components/schemas/Partial_SummaryExtraFields_" + } + ] } + ] + }, + "ApiExploresResults": { + "items": { + "$ref": "#/components/schemas/SummaryExplore" }, - "required": [ - "field" + "type": "array" + }, + "SupportedDbtAdapter": { + "enum": [ + "bigquery", + "databricks", + "snowflake", + "redshift", + "postgres", + "trino" ], - "type": "object" + "type": "string" }, - "Series": { + "Record_string.GroupType_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "OrderFieldsByStrategy": { + "enum": [ + "LABEL", + "INDEX" + ], + "type": "string" + }, + "TableBase": { "properties": { - "markLine": { - "$ref": "#/components/schemas/MarkLine" + "defaultTimeDimension": { + "$ref": "#/components/schemas/DefaultTimeDimension" }, - "smooth": { - "type": "boolean" - }, - "showSymbol": { - "type": "boolean" + "groupDetails": { + "$ref": "#/components/schemas/Record_string.GroupType_" }, - "areaStyle": { - "properties": {}, - "type": "object" + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" }, "hidden": { "type": "boolean" }, - "label": { - "properties": { - "position": { - "type": "string", - "enum": [ - "left", - "top", - "right", - "bottom", - "inside" - ] - }, - "show": { - "type": "boolean" - } + "requiredFilters": { + "items": { + "$ref": "#/components/schemas/MetricFilterRule" }, - "type": "object" + "type": "array" }, - "yAxisIndex": { - "type": "number", - "format": "double" + "sqlWhere": { + "type": "string" }, - "color": { + "groupLabel": { "type": "string" }, - "name": { + "orderFieldsBy": { + "$ref": "#/components/schemas/OrderFieldsByStrategy" + }, + "sqlTable": { "type": "string" }, - "stackLabel": { - "properties": { - "show": { - "type": "boolean" - } - }, - "type": "object" + "schema": { + "type": "string" }, - "stack": { + "database": { "type": "string" }, - "type": { - "$ref": "#/components/schemas/CartesianSeriesType" + "description": { + "type": "string" }, - "encode": { - "properties": { - "y": { - "type": "string" - }, - "x": { - "type": "string" - }, - "yRef": { - "$ref": "#/components/schemas/PivotReference" - }, - "xRef": { - "$ref": "#/components/schemas/PivotReference" - } - }, - "required": [ - "yRef", - "xRef" - ], - "type": "object" + "originalName": { + "type": "string" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" } }, "required": [ - "type", - "encode" + "sqlTable", + "schema", + "database", + "label", + "name" ], "type": "object" }, - "Axis": { - "properties": { - "rotate": { - "type": "number", - "format": "double" - }, - "inverse": { - "type": "boolean" - }, - "maxOffset": { - "type": "string" + "Record_string.LineageNodeDependency-Array_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Record_string.CompiledMetric_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Record_string.CompiledDimension_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "CompiledTable": { + "allOf": [ + { + "$ref": "#/components/schemas/TableBase" }, - "minOffset": { - "type": "string" + { + "properties": { + "uncompiledSqlWhere": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Source" + }, + "lineageGraph": { + "$ref": "#/components/schemas/Record_string.LineageNodeDependency-Array_" + }, + "metrics": { + "$ref": "#/components/schemas/Record_string.CompiledMetric_" + }, + "dimensions": { + "$ref": "#/components/schemas/Record_string.CompiledDimension_" + } + }, + "required": [ + "lineageGraph", + "metrics", + "dimensions" + ], + "type": "object" + } + ] + }, + "Explore": { + "properties": { + "type": { + "$ref": "#/components/schemas/ExploreType" }, - "max": { + "sqlPath": { "type": "string" }, - "min": { + "ymlPath": { "type": "string" }, - "name": { + "warehouse": { "type": "string" - } - }, - "type": "object" - }, - "Partial_CompleteEChartsConfig_": { - "properties": { - "legend": { - "$ref": "#/components/schemas/EchartsLegend" }, - "grid": { - "$ref": "#/components/schemas/EchartsGrid" + "targetDatabase": { + "$ref": "#/components/schemas/SupportedDbtAdapter" }, - "series": { - "items": { - "$ref": "#/components/schemas/Series" + "tables": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/CompiledTable" }, - "type": "array" + "type": "object" }, - "xAxis": { + "joinedTables": { "items": { - "$ref": "#/components/schemas/Axis" + "$ref": "#/components/schemas/CompiledExploreJoin" }, "type": "array" }, - "yAxis": { - "items": { - "$ref": "#/components/schemas/Axis" - }, - "type": "array" - } - }, - "type": "object", - "description": "Make all properties in T optional" - }, - "Partial_CompleteCartesianChartLayout_": { - "properties": { - "xField": { + "baseTable": { "type": "string" }, - "yField": { + "groupLabel": { + "type": "string" + }, + "tags": { "items": { "type": "string" }, "type": "array" }, - "flipAxes": { - "type": "boolean" - }, - "showGridX": { - "type": "boolean" + "label": { + "type": "string" }, - "showGridY": { - "type": "boolean" + "name": { + "type": "string" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": [ + "targetDatabase", + "tables", + "joinedTables", + "baseTable", + "tags", + "label", + "name" + ], + "type": "object" }, - "CartesianChart": { + "ApiCompiledQueryResults": { + "type": "string" + }, + "GitRepo": { "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.SeriesMetadata_" + "ownerLogin": { + "type": "string" }, - "eChartsConfig": { - "$ref": "#/components/schemas/Partial_CompleteEChartsConfig_" + "fullName": { + "type": "string" }, - "layout": { - "$ref": "#/components/schemas/Partial_CompleteCartesianChartLayout_" + "name": { + "type": "string" } }, "required": [ - "eChartsConfig", - "layout" + "ownerLogin", + "fullName", + "name" ], "type": "object" }, - "ChartType.CARTESIAN": { - "enum": [ - "cartesian" + "GitIntegrationConfiguration": { + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": [ + "enabled" ], - "type": "string" + "type": "object" }, - "CartesianChartConfig": { + "PullRequestCreated": { "properties": { - "config": { - "$ref": "#/components/schemas/CartesianChart" + "prUrl": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChartType.CARTESIAN" + "prTitle": { + "type": "string" } }, "required": [ - "type" + "prUrl", + "prTitle" ], "type": "object" }, - "CustomVis": { + "ApiGdriveAccessTokenResponse": { "properties": { - "spec": { - "additionalProperties": true, - "type": "object" + "results": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, + "required": [ + "results", + "status" + ], "type": "object" }, - "ChartType.CUSTOM": { - "enum": [ - "custom" - ], - "type": "string" + "CustomLabel": { + "properties": {}, + "additionalProperties": { + "type": "string" + }, + "type": "object" }, - "CustomVisConfig": { + "FilterGroupResponse": { + "anyOf": [ + { + "properties": { + "or": { + "items": {}, + "type": "array" + }, + "id": { + "type": "string" + } + }, + "required": [ + "or", + "id" + ], + "type": "object" + }, + { + "properties": { + "and": { + "items": {}, + "type": "array" + }, + "id": { + "type": "string" + } + }, + "required": [ + "and", + "id" + ], + "type": "object" + } + ] + }, + "FiltersResponse": { "properties": { - "config": { - "$ref": "#/components/schemas/CustomVis" + "tableCalculations": { + "$ref": "#/components/schemas/FilterGroupResponse" + }, + "metrics": { + "$ref": "#/components/schemas/FilterGroupResponse" + }, + "dimensions": { + "$ref": "#/components/schemas/FilterGroupResponse" + } + }, + "type": "object" + }, + "MetricQueryResponse": { + "properties": { + "metadata": { + "properties": { + "hasADateDimension": { + "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" + } + }, + "required": [ + "hasADateDimension" + ], + "type": "object" + }, + "customDimensions": { + "items": { + "$ref": "#/components/schemas/CustomDimension" + }, + "type": "array" + }, + "additionalMetrics": { + "items": { + "$ref": "#/components/schemas/AdditionalMetric" + }, + "type": "array" + }, + "tableCalculations": { + "items": { + "$ref": "#/components/schemas/TableCalculation" + }, + "type": "array" + }, + "limit": { + "type": "number", + "format": "double" + }, + "sorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" + }, + "filters": { + "$ref": "#/components/schemas/FiltersResponse" }, - "type": { - "$ref": "#/components/schemas/ChartType.CUSTOM" + "metrics": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "dimensions": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "exploreName": { + "type": "string" } }, "required": [ - "type" + "tableCalculations", + "limit", + "sorts", + "filters", + "metrics", + "dimensions", + "exploreName" ], "type": "object" }, - "PieChartLegendPosition": { - "type": "string", - "enum": [ - "horizontal", - "vertical" - ], - "nullable": false - }, - "Record_string.Partial_PieChartValueOptions__": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Record_string.string_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "PieChartValueLabel": { - "type": "string", - "enum": [ - "hidden", - "inside", - "outside" - ], - "nullable": false - }, - "PieChart": { + "UploadMetricGsheet": { "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.SeriesMetadata_" - }, - "legendPosition": { - "$ref": "#/components/schemas/PieChartLegendPosition" - }, - "showLegend": { - "type": "boolean" - }, - "groupSortOverrides": { + "hiddenFields": { "items": { "type": "string" }, "type": "array" }, - "groupValueOptionOverrides": { - "$ref": "#/components/schemas/Record_string.Partial_PieChartValueOptions__" - }, - "groupColorOverrides": { - "$ref": "#/components/schemas/Record_string.string_" - }, - "groupLabelOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "customLabels": { + "$ref": "#/components/schemas/CustomLabel" }, - "showPercentage": { - "type": "boolean" + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" }, - "showValue": { + "showTableNames": { "type": "boolean" }, - "valueLabel": { - "$ref": "#/components/schemas/PieChartValueLabel" - }, - "isDonut": { - "type": "boolean" + "metricQuery": { + "$ref": "#/components/schemas/MetricQueryResponse" }, - "metricId": { + "exploreId": { "type": "string" }, - "groupFieldIds": { - "items": { - "type": "string" - }, - "type": "array" + "projectUuid": { + "type": "string" } }, - "type": "object" - }, - "ChartType.PIE": { - "enum": [ - "pie" + "required": [ + "columnOrder", + "showTableNames", + "metricQuery", + "exploreId", + "projectUuid" ], - "type": "string" + "type": "object" }, - "PieChartConfig": { + "ApiJobScheduledResponse": { "properties": { - "config": { - "$ref": "#/components/schemas/PieChart" + "results": { + "properties": { + "jobId": { + "type": "string" + } + }, + "required": [ + "jobId" + ], + "type": "object" }, - "type": { - "$ref": "#/components/schemas/ChartType.PIE" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "type" + "results", + "status" ], "type": "object" }, - "FunnelChartLegendPosition": { - "enum": [ - "horizontal", - "vertical" - ], - "type": "string" - }, - "FunnelChartLabelPosition": { - "enum": [ - "inside", - "left", - "right", - "hidden" - ], - "type": "string" - }, - "FunnelChartDataInput": { - "enum": [ - "row", - "column" - ], - "type": "string" - }, - "FunnelChart": { + "Group": { "properties": { - "legendPosition": { - "$ref": "#/components/schemas/FunnelChartLegendPosition" - }, - "showLegend": { - "type": "boolean" - }, - "labels": { - "properties": { - "showPercentage": { - "type": "boolean" - }, - "showValue": { - "type": "boolean" - }, - "position": { - "$ref": "#/components/schemas/FunnelChartLabelPosition" - } - }, - "type": "object" + "organizationUuid": { + "type": "string", + "description": "The UUID of the organization that the group belongs to" }, - "colorOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "updatedByUserUuid": { + "type": "string", + "nullable": true, + "description": "The UUID of the user that last updated the group" }, - "labelOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "The time that the group was last updated" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.SeriesMetadata_" + "createdByUserUuid": { + "type": "string", + "nullable": true, + "description": "The UUID of the user that created the group" }, - "fieldId": { - "type": "string" + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The time that the group was created" }, - "dataInput": { - "$ref": "#/components/schemas/FunnelChartDataInput" - } - }, - "type": "object" - }, - "ChartType.FUNNEL": { - "enum": [ - "funnel" - ], - "type": "string" - }, - "FunnelChartConfig": { - "properties": { - "config": { - "$ref": "#/components/schemas/FunnelChart" + "name": { + "type": "string", + "description": "A friendly name for the group" }, - "type": { - "$ref": "#/components/schemas/ChartType.FUNNEL" + "uuid": { + "type": "string", + "description": "The group's UUID" } }, "required": [ - "type" + "organizationUuid", + "updatedByUserUuid", + "updatedAt", + "createdByUserUuid", + "createdAt", + "name", + "uuid" ], "type": "object" }, - "ConditionalRule_ConditionalOperator.number_": { + "GroupMember": { "properties": { - "values": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array" + "lastName": { + "type": "string", + "description": "The user's last name" }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" + "firstName": { + "type": "string", + "description": "The user's first name" }, - "id": { - "type": "string" + "email": { + "type": "string", + "description": "Primary email address for the user" + }, + "userUuid": { + "type": "string", + "description": "Unique id for the user", + "format": "uuid" } }, "required": [ - "operator", - "id" + "lastName", + "firstName", + "email", + "userUuid" ], - "type": "object" + "type": "object", + "description": "A summary for a Lightdash user within a group" }, - "ConditionalFormattingWithConditionalOperator": { + "GroupWithMembers": { "allOf": [ { - "$ref": "#/components/schemas/ConditionalRule_ConditionalOperator.number_" + "$ref": "#/components/schemas/Group" }, { "properties": { - "values": { + "memberUuids": { "items": { - "type": "number", - "format": "double" + "type": "string" }, "type": "array" + }, + "members": { + "items": { + "$ref": "#/components/schemas/GroupMember" + }, + "type": "array", + "description": "A list of the group's members." } }, "required": [ - "values" + "memberUuids", + "members" ], "type": "object" } - ] + ], + "description": "Details for a group including a list of the group's members." }, - "ConditionalFormattingConfigWithSingleColor": { + "ApiGroupResponse": { "properties": { - "rules": { + "results": { + "anyOf": [ + { + "$ref": "#/components/schemas/Group" + }, + { + "$ref": "#/components/schemas/GroupWithMembers" + } + ] + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "Pick_GroupMember.userUuid_": { + "properties": { + "userUuid": { + "type": "string", + "description": "Unique id for the user", + "format": "uuid" + } + }, + "required": [ + "userUuid" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "UpdateGroupWithMembers": { + "properties": { + "members": { "items": { - "$ref": "#/components/schemas/ConditionalFormattingWithConditionalOperator" + "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" }, "type": "array" }, - "color": { + "name": { "type": "string" + } + }, + "type": "object" + }, + "ApiGroupMembersResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/GroupMember" + }, + "type": "array" }, - "target": { - "allOf": [ - { - "$ref": "#/components/schemas/FieldTarget" - } + "status": { + "type": "string", + "enum": [ + "ok" ], - "nullable": true + "nullable": false } }, "required": [ - "rules", - "color", - "target" + "results", + "status" ], "type": "object" }, - "ConditionalFormattingWithRange": { + "ProjectMemberRole": { + "enum": [ + "viewer", + "interactive_viewer", + "editor", + "developer", + "admin" + ], + "type": "string" + }, + "Pick_CreateDBProjectGroupAccess.role_": { "properties": { - "max": { - "type": "number", - "format": "double" - }, - "min": { - "type": "number", - "format": "double" + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" } }, "required": [ - "max", - "min" + "role" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ConditionalFormattingConfigWithColorRange": { + "ProjectGroupAccess": { "properties": { - "rule": { - "$ref": "#/components/schemas/ConditionalFormattingWithRange" + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" }, - "color": { - "properties": { - "steps": { - "type": "number", - "enum": [ - 5 - ], - "nullable": false - }, - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - }, - "required": [ - "steps", - "end", - "start" - ], - "type": "object" + "groupUuid": { + "type": "string" }, - "target": { - "allOf": [ - { - "$ref": "#/components/schemas/FieldTarget" - } - ], - "nullable": true + "projectUuid": { + "type": "string" } }, "required": [ - "rule", - "color", - "target" + "role", + "groupUuid", + "projectUuid" ], "type": "object" }, - "ConditionalFormattingConfig": { - "anyOf": [ - { - "$ref": "#/components/schemas/ConditionalFormattingConfigWithSingleColor" + "ApiCreateProjectGroupAccess": { + "properties": { + "results": { + "$ref": "#/components/schemas/ProjectGroupAccess" }, - { - "$ref": "#/components/schemas/ConditionalFormattingConfigWithColorRange" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } - ] + }, + "required": [ + "results", + "status" + ], + "type": "object" }, - "Record_string.ColumnProperties_": { - "properties": {}, + "Pick_DBProjectGroupAccess.role_": { + "properties": { + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" + } + }, + "required": [ + "role" + ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "TableChart": { + "ApiUpdateProjectGroupAccess": { "properties": { - "metricsAsRows": { - "type": "boolean" - }, - "conditionalFormattings": { - "items": { - "$ref": "#/components/schemas/ConditionalFormattingConfig" - }, - "type": "array" - }, - "columns": { - "$ref": "#/components/schemas/Record_string.ColumnProperties_" - }, - "showSubtotals": { - "type": "boolean" - }, - "showResultsTotal": { - "type": "boolean" - }, - "hideRowNumbers": { - "type": "boolean" - }, - "showTableNames": { - "type": "boolean" - }, - "showRowCalculation": { - "type": "boolean" + "results": { + "$ref": "#/components/schemas/ProjectGroupAccess" }, - "showColumnCalculation": { - "type": "boolean" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, + "required": [ + "results", + "status" + ], "type": "object" }, - "ChartType.TABLE": { + "MetricExplorerComparison.NONE": { "enum": [ - "table" + "none" ], "type": "string" }, - "TableChartConfig": { - "properties": { - "config": { - "$ref": "#/components/schemas/TableChart" - }, - "type": { - "$ref": "#/components/schemas/ChartType.TABLE" - } - }, - "required": [ - "type" + "MetricExplorerComparison.PREVIOUS_PERIOD": { + "enum": [ + "previous_period" ], - "type": "object" + "type": "string" }, - "ChartConfig": { + "MetricExplorerComparison.DIFFERENT_METRIC": { + "enum": [ + "different_metric" + ], + "type": "string" + }, + "MetricExplorerComparisonType": { "anyOf": [ { - "$ref": "#/components/schemas/BigNumberConfig" - }, - { - "$ref": "#/components/schemas/CartesianChartConfig" - }, - { - "$ref": "#/components/schemas/CustomVisConfig" - }, - { - "$ref": "#/components/schemas/PieChartConfig" - }, - { - "$ref": "#/components/schemas/FunnelChartConfig" - }, - { - "$ref": "#/components/schemas/TableChartConfig" - } - ] - }, - "Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__": { - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "uuid": { - "type": "string" - }, - "spaceName": { - "type": "string" - }, - "spaceUuid": { - "type": "string" - }, - "projectUuid": { - "type": "string" - }, - "organizationUuid": { - "type": "string" - }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "dashboardUuid": { - "type": "string", - "nullable": true - }, - "dashboardName": { - "type": "string", - "nullable": true - }, - "slug": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true - }, - "tableName": { - "type": "string" - }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQuery" - }, - "pivotConfig": { "properties": { - "columns": { - "items": { - "type": "string" - }, - "type": "array" + "type": { + "$ref": "#/components/schemas/MetricExplorerComparison.NONE" } }, "required": [ - "columns" + "type" ], "type": "object" }, - "chartConfig": { - "$ref": "#/components/schemas/ChartConfig" - }, - "tableConfig": { + { "properties": { - "columnOrder": { - "items": { - "type": "string" - }, - "type": "array" + "type": { + "$ref": "#/components/schemas/MetricExplorerComparison.PREVIOUS_PERIOD" } }, "required": [ - "columnOrder" + "type" ], "type": "object" }, - "colorPalette": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name", - "uuid", - "spaceName", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "dashboardUuid", - "dashboardName", - "slug", - "updatedAt", - "pinnedListOrder", - "tableName", - "metricQuery", - "chartConfig", - "tableConfig", - "colorPalette" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "PromotedChart": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__" - }, { "properties": { - "oldUuid": { + "metricName": { "type": "string" }, - "spaceSlug": { + "metricTable": { "type": "string" + }, + "type": { + "$ref": "#/components/schemas/MetricExplorerComparison.DIFFERENT_METRIC" } }, "required": [ - "oldUuid", - "spaceSlug" + "metricName", + "metricTable", + "type" ], "type": "object" } ] }, - "PromotionAction": { - "enum": [ - "no changes", - "create", - "update", - "delete" - ], - "type": "string" - }, - "PromotedDashboard": { + "TimeDimensionConfig": { "allOf": [ { - "$ref": "#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__" + "$ref": "#/components/schemas/DefaultTimeDimension" }, { "properties": { - "spaceSlug": { + "table": { "type": "string" } }, "required": [ - "spaceSlug" + "table" ], "type": "object" } ] }, - "Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__": { - "properties": { - "name": { - "type": "string" - }, - "uuid": { - "type": "string" - }, - "projectUuid": { - "type": "string" - }, - "organizationUuid": { - "type": "string" - }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "slug": { - "type": "string" - }, - "isPrivate": { - "type": "boolean" - }, - "access": { - "items": { - "type": "string" - }, - "type": "array" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true - }, - "chartCount": { - "type": "number", - "format": "double" - }, - "dashboardCount": { - "type": "number", - "format": "double" - } - }, - "required": [ - "name", - "uuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "slug", - "isPrivate", - "access", - "pinnedListOrder", - "chartCount", - "dashboardCount" - ], + "Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_": { + "properties": {}, "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "description": "Construct a type with a set of properties K of type T" }, - "PromotionChanges": { - "properties": { - "charts": { - "items": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromotedChart" - }, - "action": { - "$ref": "#/components/schemas/PromotionAction" - } - }, - "required": [ - "data", - "action" - ], - "type": "object" - }, - "type": "array" + "Record_string._value-ResultValue--__": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "MetricsExplorerQueryResults": { + "properties": { + "fields": { + "$ref": "#/components/schemas/Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_" }, - "dashboards": { + "comparisonRows": { "items": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromotedDashboard" - }, - "action": { - "$ref": "#/components/schemas/PromotionAction" - } - }, - "required": [ - "data", - "action" - ], - "type": "object" + "$ref": "#/components/schemas/Record_string._value-ResultValue--__" }, "type": "array" }, - "spaces": { + "rows": { "items": { - "properties": { - "data": { - "$ref": "#/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__" - }, - "action": { - "$ref": "#/components/schemas/PromotionAction" - } - }, - "required": [ - "data", - "action" - ], - "type": "object" + "$ref": "#/components/schemas/Record_string._value-ResultValue--__" }, "type": "array" + }, + "metric": { + "$ref": "#/components/schemas/MetricWithAssociatedTimeDimension" } }, "required": [ - "charts", - "dashboards", - "spaces" + "fields", + "rows", + "metric" ], "type": "object" }, - "ApiPromotionChangesResponse": { + "ApiMetricsExplorerQueryResults": { "properties": { "results": { - "$ref": "#/components/schemas/PromotionChanges" + "$ref": "#/components/schemas/MetricsExplorerQueryResults" }, "status": { "type": "string", @@ -9209,443 +12589,409 @@ ], "type": "object" }, - "Pick_Explore.SummaryExploreFields_": { + "ApiNotificationResourceType": { + "enum": [ + "dashboardComments" + ], + "type": "string" + }, + "NotificationBase": { "properties": { - "name": { + "url": { "type": "string" }, - "label": { + "message": { "type": "string" }, - "groupLabel": { + "resourceUuid": { "type": "string" }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name", - "label", - "tags" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "SummaryExtraFields": { - "properties": { - "databaseName": { - "type": "string" + "viewed": { + "type": "boolean" }, - "schemaName": { - "type": "string" + "createdAt": { + "type": "string", + "format": "date-time" }, - "description": { + "notificationId": { "type": "string" } }, "required": [ - "databaseName", - "schemaName" + "viewed", + "createdAt", + "notificationId" ], "type": "object" }, - "Pick_ExploreError.SummaryExploreErrorFields_": { + "NotificationDashboardTileCommentMetadata": { "properties": { - "name": { + "dashboardUuid": { "type": "string" }, - "label": { + "dashboardName": { "type": "string" }, - "groupLabel": { + "dashboardTileUuid": { "type": "string" }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "errors": { - "items": { - "$ref": "#/components/schemas/InlineError" - }, - "type": "array" + "dashboardTileName": { + "type": "string" } }, "required": [ - "name", - "label", - "tags", - "errors" + "dashboardUuid", + "dashboardName", + "dashboardTileUuid", + "dashboardTileName" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": true }, - "Partial_SummaryExtraFields_": { - "properties": { - "description": { - "type": "string" - }, - "schemaName": { - "type": "string" - }, - "databaseName": { - "type": "string" - } - }, - "type": "object", - "description": "Make all properties in T optional" + "ApiNotificationResourceType.DashboardComments": { + "enum": [ + "dashboardComments" + ], + "type": "string" }, - "SummaryExplore": { - "anyOf": [ + "NotificationDashboardComment": { + "allOf": [ { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Explore.SummaryExploreFields_" - }, - { - "$ref": "#/components/schemas/SummaryExtraFields" - } - ] + "$ref": "#/components/schemas/NotificationBase" }, { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_" + "properties": { + "metadata": { + "$ref": "#/components/schemas/NotificationDashboardTileCommentMetadata" }, - { - "$ref": "#/components/schemas/Partial_SummaryExtraFields_" + "resourceType": { + "$ref": "#/components/schemas/ApiNotificationResourceType.DashboardComments" } - ] + }, + "required": [ + "resourceType" + ], + "type": "object" } ] }, - "ApiExploresResults": { + "ApiNotificationsResults": { "items": { - "$ref": "#/components/schemas/SummaryExplore" - }, - "type": "array" - }, - "ApiSuccessEmpty": { - "properties": { - "results": {}, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "status" - ], - "type": "object" - }, - "SupportedDbtAdapter": { - "enum": [ - "bigquery", - "databricks", - "snowflake", - "redshift", - "postgres", - "trino" - ], - "type": "string" - }, - "Record_string.GroupType_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "OrderFieldsByStrategy": { - "enum": [ - "LABEL", - "INDEX" - ], - "type": "string" - }, - "TableBase": { - "properties": { - "groupDetails": { - "$ref": "#/components/schemas/Record_string.GroupType_" - }, - "requiredAttributes": { - "$ref": "#/components/schemas/Record_string.string-or-string-Array_" - }, - "hidden": { - "type": "boolean" - }, - "requiredFilters": { - "items": { - "$ref": "#/components/schemas/MetricFilterRule" - }, - "type": "array" - }, - "sqlWhere": { - "type": "string" - }, - "groupLabel": { - "type": "string" - }, - "orderFieldsBy": { - "$ref": "#/components/schemas/OrderFieldsByStrategy" - }, - "sqlTable": { - "type": "string" - }, - "schema": { - "type": "string" - }, - "database": { - "type": "string" - }, - "description": { - "type": "string" - }, - "originalName": { - "type": "string" - }, - "label": { - "type": "string" + "$ref": "#/components/schemas/NotificationDashboardComment" + }, + "type": "array" + }, + "ApiGetNotifications": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiNotificationsResults" }, - "name": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "sqlTable", - "schema", - "database", - "label", - "name" + "results", + "status" ], "type": "object" }, - "SourcePosition": { + "Pick_Notification.viewed_": { "properties": { - "character": { - "type": "number", - "format": "double" - }, - "line": { - "type": "number", - "format": "double" + "viewed": { + "type": "boolean" } }, "required": [ - "character", - "line" + "viewed" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Source": { + "Organization": { "properties": { - "content": { - "type": "string" + "defaultProjectUuid": { + "type": "string", + "description": "The project a user sees when they first log in to the organization" }, - "highlight": { - "properties": { - "end": { - "$ref": "#/components/schemas/SourcePosition" - }, - "start": { - "$ref": "#/components/schemas/SourcePosition" - } - }, - "required": [ - "end", - "start" - ], - "type": "object" + "needsProject": { + "type": "boolean", + "description": "The organization needs a project if it doesn't have at least one project." }, - "range": { - "properties": { - "end": { - "$ref": "#/components/schemas/SourcePosition" - }, - "start": { - "$ref": "#/components/schemas/SourcePosition" - } + "chartColors": { + "items": { + "type": "string" }, - "required": [ - "end", - "start" - ], - "type": "object" + "type": "array", + "description": "The default color palette for all projects in the organization" }, - "path": { - "type": "string" + "name": { + "type": "string", + "description": "The name of the organization" + }, + "organizationUuid": { + "type": "string", + "description": "The unique identifier of the organization", + "format": "uuid" } }, "required": [ - "content", - "range", - "path" + "name", + "organizationUuid" ], - "type": "object" - }, - "Record_string.LineageNodeDependency-Array_": { - "properties": {}, "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "Details of a user's Organization" }, - "Record_string.CompiledMetric_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "ApiOrganization": { + "properties": { + "results": { + "$ref": "#/components/schemas/Organization" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" }, - "Record_string.CompiledDimension_": { - "properties": {}, + "Pick_Organization.name_": { + "properties": { + "name": { + "type": "string", + "description": "The name of the organization" + } + }, + "required": [ + "name" + ], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "CompiledTable": { - "allOf": [ - { - "$ref": "#/components/schemas/TableBase" + "Partial_Omit_Organization.organizationUuid-or-needsProject__": { + "properties": { + "name": { + "type": "string", + "description": "The name of the organization" }, - { - "properties": { - "uncompiledSqlWhere": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/Source" - }, - "lineageGraph": { - "$ref": "#/components/schemas/Record_string.LineageNodeDependency-Array_" - }, - "metrics": { - "$ref": "#/components/schemas/Record_string.CompiledMetric_" - }, - "dimensions": { - "$ref": "#/components/schemas/Record_string.CompiledDimension_" - } + "chartColors": { + "items": { + "type": "string" }, - "required": [ - "lineageGraph", - "metrics", - "dimensions" - ], - "type": "object" + "type": "array", + "description": "The default color palette for all projects in the organization" + }, + "defaultProjectUuid": { + "type": "string", + "description": "The project a user sees when they first log in to the organization" } - ] + }, + "type": "object", + "description": "Make all properties in T optional" }, - "Explore": { + "WarehouseTypes": { + "enum": [ + "bigquery", + "postgres", + "redshift", + "snowflake", + "databricks", + "trino" + ], + "type": "string" + }, + "ProjectType": { + "enum": [ + "DEFAULT", + "PREVIEW" + ], + "type": "string" + }, + "OrganizationProject": { "properties": { - "sqlPath": { - "type": "string" - }, - "ymlPath": { - "type": "string" - }, - "warehouse": { - "type": "string" + "requireUserCredentials": { + "type": "boolean" }, - "targetDatabase": { - "$ref": "#/components/schemas/SupportedDbtAdapter" + "warehouseType": { + "$ref": "#/components/schemas/WarehouseTypes" }, - "tables": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/CompiledTable" - }, - "type": "object" + "upstreamProjectUuid": { + "type": "string", + "nullable": true }, - "joinedTables": { - "items": { - "$ref": "#/components/schemas/CompiledExploreJoin" - }, - "type": "array" + "createdByUserUuid": { + "type": "string", + "nullable": true }, - "baseTable": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ProjectType" }, - "groupLabel": { + "name": { "type": "string" }, - "tags": { + "projectUuid": { + "type": "string", + "description": "The unique identifier of the project", + "format": "uuid" + } + }, + "required": [ + "requireUserCredentials", + "warehouseType", + "upstreamProjectUuid", + "createdByUserUuid", + "type", + "name", + "projectUuid" + ], + "type": "object", + "description": "Summary of a project under an organization" + }, + "ApiOrganizationProjects": { + "properties": { + "results": { "items": { - "type": "string" + "$ref": "#/components/schemas/OrganizationProject" }, "type": "array" }, - "label": { - "type": "string" - }, - "name": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "targetDatabase", - "tables", - "joinedTables", - "baseTable", - "tags", - "label", - "name" + "results", + "status" ], - "type": "object" + "type": "object", + "description": "List of projects in the current organization" }, - "ApiCompiledQueryResults": { + "OrganizationMemberRole": { + "enum": [ + "member", + "viewer", + "interactive_viewer", + "editor", + "developer", + "admin" + ], "type": "string" }, - "GitRepo": { + "OrganizationMemberProfile": { "properties": { - "ownerLogin": { + "isPending": { + "type": "boolean", + "description": "Whether the user doesn't have an authentication method (password or openId)" + }, + "isInviteExpired": { + "type": "boolean", + "description": "Whether the user's invite to the organization has expired" + }, + "isActive": { + "type": "boolean", + "description": "Whether the user can login" + }, + "role": { + "$ref": "#/components/schemas/OrganizationMemberRole", + "description": "The role of the user in the organization" + }, + "organizationUuid": { + "type": "string", + "description": "Unique identifier for the organization the user is a member of" + }, + "email": { "type": "string" }, - "fullName": { + "lastName": { "type": "string" }, - "name": { + "firstName": { "type": "string" + }, + "userUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "userCreatedAt": { + "type": "string", + "format": "date-time" + }, + "userUuid": { + "type": "string", + "description": "Unique identifier for the user", + "format": "uuid" } }, "required": [ - "ownerLogin", - "fullName", - "name" - ], - "type": "object" - }, - "GitIntegrationConfiguration": { - "properties": { - "enabled": { - "type": "boolean" - } - }, - "required": [ - "enabled" + "isActive", + "role", + "organizationUuid", + "email", + "lastName", + "firstName", + "userUpdatedAt", + "userCreatedAt", + "userUuid" ], - "type": "object" + "type": "object", + "description": "Profile for a user's membership in an organization" }, - "PullRequestCreated": { + "KnexPaginatedData_OrganizationMemberProfile-Array_": { "properties": { - "prUrl": { - "type": "string" + "pagination": { + "allOf": [ + { + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalResults", + "totalPageCount" + ], + "type": "object" + } + ] }, - "prTitle": { - "type": "string" + "data": { + "items": { + "$ref": "#/components/schemas/OrganizationMemberProfile" + }, + "type": "array" } }, "required": [ - "prUrl", - "prTitle" + "data" ], "type": "object" }, - "ApiGdriveAccessTokenResponse": { + "ApiOrganizationMemberProfiles": { "properties": { "results": { - "type": "string" + "$ref": "#/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_" }, "status": { "type": "string", @@ -9661,185 +13007,158 @@ ], "type": "object" }, - "CustomLabel": { - "properties": {}, - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "FilterGroupResponse": { - "anyOf": [ - { - "properties": { - "or": { - "items": {}, - "type": "array" - }, - "id": { - "type": "string" - } - }, - "required": [ - "or", - "id" - ], - "type": "object" - }, - { - "properties": { - "and": { - "items": {}, - "type": "array" - }, - "id": { - "type": "string" - } - }, - "required": [ - "and", - "id" - ], - "type": "object" - } - ] - }, - "FiltersResponse": { - "properties": { - "tableCalculations": { - "$ref": "#/components/schemas/FilterGroupResponse" - }, - "metrics": { - "$ref": "#/components/schemas/FilterGroupResponse" - }, - "dimensions": { - "$ref": "#/components/schemas/FilterGroupResponse" - } - }, - "type": "object" + "UUID": { + "type": "string", + "format": "uuid", + "description": "Stringified UUIDv4.\nSee [RFC 4112](https://tools.ietf.org/html/rfc4122)", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}" }, - "MetricQueryResponse": { - "properties": { - "metadata": { - "properties": { - "hasADateDimension": { - "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" - } - }, - "required": [ - "hasADateDimension" - ], - "type": "object" - }, - "customDimensions": { - "items": { - "$ref": "#/components/schemas/CustomDimension" - }, - "type": "array" - }, - "additionalMetrics": { - "items": { - "$ref": "#/components/schemas/AdditionalMetric" - }, - "type": "array" - }, - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/TableCalculation" - }, - "type": "array" - }, - "limit": { - "type": "number", - "format": "double" - }, - "sorts": { - "items": { - "$ref": "#/components/schemas/SortField" - }, - "type": "array" - }, - "filters": { - "$ref": "#/components/schemas/FiltersResponse" - }, - "metrics": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" - }, - "dimensions": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" + "ApiOrganizationMemberProfile": { + "properties": { + "results": { + "$ref": "#/components/schemas/OrganizationMemberProfile" }, - "exploreName": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "tableCalculations", - "limit", - "sorts", - "filters", - "metrics", - "dimensions", - "exploreName" + "results", + "status" ], "type": "object" }, - "UploadMetricGsheet": { + "OrganizationMemberProfileUpdate": { "properties": { - "hiddenFields": { + "role": { + "$ref": "#/components/schemas/OrganizationMemberRole" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "ProjectMemberRole.EDITOR": { + "enum": [ + "editor" + ], + "type": "string" + }, + "ProjectMemberRole.INTERACTIVE_VIEWER": { + "enum": [ + "interactive_viewer" + ], + "type": "string" + }, + "ProjectMemberRole.VIEWER": { + "enum": [ + "viewer" + ], + "type": "string" + }, + "AllowedEmailDomainProjectsRole": { + "anyOf": [ + { + "$ref": "#/components/schemas/ProjectMemberRole.EDITOR" + }, + { + "$ref": "#/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER" + }, + { + "$ref": "#/components/schemas/ProjectMemberRole.VIEWER" + } + ] + }, + "OrganizationMemberRole.EDITOR": { + "enum": [ + "editor" + ], + "type": "string" + }, + "OrganizationMemberRole.INTERACTIVE_VIEWER": { + "enum": [ + "interactive_viewer" + ], + "type": "string" + }, + "OrganizationMemberRole.VIEWER": { + "enum": [ + "viewer" + ], + "type": "string" + }, + "OrganizationMemberRole.MEMBER": { + "enum": [ + "member" + ], + "type": "string" + }, + "AllowedEmailDomainsRole": { + "anyOf": [ + { + "$ref": "#/components/schemas/OrganizationMemberRole.EDITOR" + }, + { + "$ref": "#/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER" + }, + { + "$ref": "#/components/schemas/OrganizationMemberRole.VIEWER" + }, + { + "$ref": "#/components/schemas/OrganizationMemberRole.MEMBER" + } + ] + }, + "AllowedEmailDomains": { + "properties": { + "projects": { "items": { - "type": "string" + "properties": { + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" + }, + "projectUuid": { + "type": "string" + } + }, + "required": [ + "role", + "projectUuid" + ], + "type": "object" }, "type": "array" }, - "customLabels": { - "$ref": "#/components/schemas/CustomLabel" + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainsRole" }, - "columnOrder": { + "emailDomains": { "items": { "type": "string" }, "type": "array" }, - "showTableNames": { - "type": "boolean" - }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQueryResponse" - }, - "exploreId": { - "type": "string" - }, - "projectUuid": { + "organizationUuid": { "type": "string" } }, "required": [ - "columnOrder", - "showTableNames", - "metricQuery", - "exploreId", - "projectUuid" + "projects", + "role", + "emailDomains", + "organizationUuid" ], "type": "object" }, - "ApiJobScheduledResponse": { + "ApiOrganizationAllowedEmailDomains": { "properties": { "results": { - "properties": { - "jobId": { - "type": "string" - } - }, - "required": [ - "jobId" - ], - "type": "object" + "$ref": "#/components/schemas/AllowedEmailDomains" }, "status": { "type": "string", @@ -9855,104 +13174,96 @@ ], "type": "object" }, - "Group": { - "properties": { - "organizationUuid": { - "type": "string", - "description": "The UUID of the organization that the group belongs to" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "The time that the group was created" - }, - "name": { - "type": "string", - "description": "A friendly name for the group" - }, - "uuid": { - "type": "string", - "description": "The group's UUID" - } - }, - "required": [ - "organizationUuid", - "createdAt", - "name", - "uuid" - ], - "type": "object" - }, - "GroupMember": { + "Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__": { "properties": { - "lastName": { - "type": "string", - "description": "The user's last name" - }, - "firstName": { - "type": "string", - "description": "The user's first name" + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainsRole" }, - "email": { - "type": "string", - "description": "Primary email address for the user" + "emailDomains": { + "items": { + "type": "string" + }, + "type": "array" }, - "userUuid": { - "type": "string", - "description": "Unique id for the user", - "format": "uuid" + "projects": { + "items": { + "properties": { + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" + }, + "projectUuid": { + "type": "string" + } + }, + "required": [ + "role", + "projectUuid" + ], + "type": "object" + }, + "type": "array" } }, "required": [ - "lastName", - "firstName", - "email", - "userUuid" + "role", + "emailDomains", + "projects" ], "type": "object", - "description": "A summary for a Lightdash user within a group" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "GroupWithMembers": { - "allOf": [ - { - "$ref": "#/components/schemas/Group" + "KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_": { + "properties": { + "pagination": { + "allOf": [ + { + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalResults", + "totalPageCount" + ], + "type": "object" + } + ] }, - { - "properties": { - "memberUuids": { + "data": { + "anyOf": [ + { "items": { - "type": "string" + "$ref": "#/components/schemas/Group" }, "type": "array" }, - "members": { + { "items": { - "$ref": "#/components/schemas/GroupMember" + "$ref": "#/components/schemas/GroupWithMembers" }, - "type": "array", - "description": "A list of the group's members." + "type": "array" } - }, - "required": [ - "memberUuids", - "members" - ], - "type": "object" + ] } + }, + "required": [ + "data" ], - "description": "Details for a group including a list of the group's members." + "type": "object" }, - "ApiGroupResponse": { + "ApiGroupListResponse": { "properties": { "results": { - "anyOf": [ - { - "$ref": "#/components/schemas/Group" - }, - { - "$ref": "#/components/schemas/GroupWithMembers" - } - ] + "$ref": "#/components/schemas/KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_" }, "status": { "type": "string", @@ -9968,41 +13279,41 @@ ], "type": "object" }, - "Pick_GroupMember.userUuid_": { + "Pick_Group.name_": { "properties": { - "userUuid": { + "name": { "type": "string", - "description": "Unique id for the user", - "format": "uuid" + "description": "A friendly name for the group" } }, "required": [ - "userUuid" + "name" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "UpdateGroupWithMembers": { - "properties": { - "members": { - "items": { - "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" - }, - "type": "array" + "CreateGroup": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Group.name_" }, - "name": { - "type": "string" + { + "properties": { + "members": { + "items": { + "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" + }, + "type": "array" + } + }, + "type": "object" } - }, - "type": "object" + ] }, - "ApiGroupMembersResponse": { + "ApiCreateGroupResponse": { "properties": { "results": { - "items": { - "$ref": "#/components/schemas/GroupMember" - }, - "type": "array" + "$ref": "#/components/schemas/GroupWithMembers" }, "status": { "type": "string", @@ -10018,193 +13329,370 @@ ], "type": "object" }, - "ProjectMemberRole": { + "ResourceItemCategory": { "enum": [ - "viewer", - "interactive_viewer", - "editor", - "developer", - "admin" + "mostPopular", + "recentlyUpdated", + "pinned" ], "type": "string" }, - "Pick_CreateDBProjectGroupAccess.role_": { + "Pick_ValidationResponse.error-or-createdAt-or-validationId_": { "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "validationId": { + "type": "number", + "format": "double" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "error": { + "type": "string" } }, "required": [ - "role" + "validationId", + "createdAt", + "error" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ProjectGroupAccess": { + "Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_": { "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "name": { + "type": "string" }, - "groupUuid": { + "description": { "type": "string" }, - "projectUuid": { + "uuid": { "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { + "type": "number", + "format": "double" + }, + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "validationErrors": { + "items": { + "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" + }, + "type": "array" } }, "required": [ - "role", - "groupUuid", - "projectUuid" + "name", + "uuid", + "spaceUuid", + "pinnedListUuid", + "updatedAt", + "views", + "firstViewedAt", + "pinnedListOrder" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiCreateProjectGroupAccess": { + "ResourceViewItemType.DASHBOARD": { + "enum": [ + "dashboard" + ], + "type": "string" + }, + "ResourceViewDashboardItem": { "properties": { - "results": { - "$ref": "#/components/schemas/ProjectGroupAccess" + "category": { + "$ref": "#/components/schemas/ResourceItemCategory" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "data": { + "$ref": "#/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_" + }, + "type": { + "$ref": "#/components/schemas/ResourceViewItemType.DASHBOARD" } }, "required": [ - "results", - "status" + "data", + "type" ], "type": "object" }, - "Pick_DBProjectGroupAccess.role_": { + "ChartType": { + "enum": [ + "cartesian", + "table", + "big_number", + "pie", + "funnel", + "custom" + ], + "type": "string" + }, + "Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_": { "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { + "type": "number", + "format": "double" + }, + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "validationErrors": { + "items": { + "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" + }, + "type": "array" + }, + "chartType": { + "$ref": "#/components/schemas/ChartType" } }, "required": [ - "role" + "name", + "uuid", + "spaceUuid", + "pinnedListUuid", + "slug", + "updatedAt", + "views", + "firstViewedAt", + "pinnedListOrder" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiUpdateProjectGroupAccess": { - "properties": { - "results": { - "$ref": "#/components/schemas/ProjectGroupAccess" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" + "ChartSourceType": { + "enum": [ + "dbt_explore", + "sql", + "semantic_layer" ], - "type": "object" + "type": "string" }, - "ApiNotificationResourceType": { + "ResourceViewItemType.CHART": { "enum": [ - "dashboardComments" + "chart" ], "type": "string" }, - "NotificationBase": { + "ResourceViewChartItem": { "properties": { - "url": { - "type": "string" - }, - "message": { - "type": "string" - }, - "resourceUuid": { - "type": "string" - }, - "viewed": { - "type": "boolean" + "category": { + "$ref": "#/components/schemas/ResourceItemCategory" }, - "createdAt": { - "type": "string", - "format": "date-time" + "data": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_" + }, + { + "properties": { + "source": { + "$ref": "#/components/schemas/ChartSourceType" + } + }, + "type": "object" + } + ] }, - "notificationId": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ResourceViewItemType.CHART" } }, "required": [ - "viewed", - "createdAt", - "notificationId" + "data", + "type" ], "type": "object" }, - "NotificationDashboardTileCommentMetadata": { + "Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_": { "properties": { - "dashboardUuid": { + "name": { "type": "string" }, - "dashboardName": { + "uuid": { "type": "string" }, - "dashboardTileUuid": { + "projectUuid": { "type": "string" }, - "dashboardTileName": { + "organizationUuid": { "type": "string" + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "isPrivate": { + "type": "boolean" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "dashboardUuid", - "dashboardName", - "dashboardTileUuid", - "dashboardTileName" + "name", + "uuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "isPrivate", + "pinnedListOrder" ], "type": "object", - "additionalProperties": true + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiNotificationResourceType.DashboardComments": { + "ResourceViewItemType.SPACE": { "enum": [ - "dashboardComments" + "space" ], "type": "string" }, - "NotificationDashboardComment": { - "allOf": [ - { - "$ref": "#/components/schemas/NotificationBase" - }, - { - "properties": { - "metadata": { - "$ref": "#/components/schemas/NotificationDashboardTileCommentMetadata" + "ResourceViewSpaceItem": { + "properties": { + "data": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_" }, - "resourceType": { - "$ref": "#/components/schemas/ApiNotificationResourceType.DashboardComments" + { + "properties": { + "chartCount": { + "type": "number", + "format": "double" + }, + "dashboardCount": { + "type": "number", + "format": "double" + }, + "accessListLength": { + "type": "number", + "format": "double" + }, + "access": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "chartCount", + "dashboardCount", + "accessListLength", + "access" + ], + "type": "object" } - }, - "required": [ - "resourceType" - ], - "type": "object" + ] + }, + "type": { + "$ref": "#/components/schemas/ResourceViewItemType.SPACE" } - ] + }, + "required": [ + "data", + "type" + ], + "type": "object" }, - "ApiNotificationsResults": { + "PinnedItems": { "items": { - "$ref": "#/components/schemas/NotificationDashboardComment" + "anyOf": [ + { + "$ref": "#/components/schemas/ResourceViewDashboardItem" + }, + { + "$ref": "#/components/schemas/ResourceViewChartItem" + }, + { + "$ref": "#/components/schemas/ResourceViewSpaceItem" + } + ] }, "type": "array" }, - "ApiGetNotifications": { + "ApiPinnedItems": { "properties": { "results": { - "$ref": "#/components/schemas/ApiNotificationsResults" + "$ref": "#/components/schemas/PinnedItems" }, "status": { "type": "string", @@ -10220,933 +13708,915 @@ ], "type": "object" }, - "Pick_Notification.viewed_": { - "properties": { - "viewed": { - "type": "boolean" - } - }, - "required": [ - "viewed" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Organization": { + "Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_": { "properties": { - "defaultProjectUuid": { - "type": "string", - "description": "The project a user sees when they first log in to the organization" - }, - "needsProject": { - "type": "boolean", - "description": "The organization needs a project if it doesn't have at least one project." - }, - "chartColors": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The default color palette for all projects in the organization" - }, - "name": { - "type": "string", - "description": "The name of the organization" + "uuid": { + "type": "string" }, - "organizationUuid": { - "type": "string", - "description": "The unique identifier of the organization", - "format": "uuid" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "name", - "organizationUuid" + "uuid", + "pinnedListOrder" ], "type": "object", - "description": "Details of a user's Organization" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiOrganization": { + "ResourceViewItemType": { + "enum": [ + "chart", + "dashboard", + "space" + ], + "type": "string" + }, + "UpdatePinnedItemOrder": { "properties": { - "results": { - "$ref": "#/components/schemas/Organization" + "data": { + "$ref": "#/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "type": { + "$ref": "#/components/schemas/ResourceViewItemType" } }, "required": [ - "results", - "status" + "data", + "type" ], "type": "object" }, - "Pick_Organization.name_": { + "SemanticLayerType.DBT": { + "enum": [ + "DBT" + ], + "type": "string" + }, + "DbtSemanticLayerConnection": { "properties": { - "name": { - "type": "string", - "description": "The name of the organization" + "token": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "environmentId": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/SemanticLayerType.DBT" } }, "required": [ - "name" + "token", + "domain", + "environmentId", + "type" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "Partial_Omit_Organization.organizationUuid-or-needsProject__": { + "SemanticLayerType.CUBE": { + "enum": [ + "CUBE" + ], + "type": "string" + }, + "CubeSemanticLayerConnection": { "properties": { - "name": { - "type": "string", - "description": "The name of the organization" + "token": { + "type": "string" }, - "chartColors": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The default color palette for all projects in the organization" + "domain": { + "type": "string" }, - "defaultProjectUuid": { - "type": "string", - "description": "The project a user sees when they first log in to the organization" + "type": { + "$ref": "#/components/schemas/SemanticLayerType.CUBE" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": [ + "token", + "domain", + "type" + ], + "type": "object" }, - "WarehouseTypes": { + "SemanticLayerConnection": { + "anyOf": [ + { + "$ref": "#/components/schemas/DbtSemanticLayerConnection" + }, + { + "$ref": "#/components/schemas/CubeSemanticLayerConnection" + } + ] + }, + "SupportedDbtVersions": { "enum": [ - "bigquery", - "postgres", - "redshift", - "snowflake", - "databricks", - "trino" + "v1.4", + "v1.5", + "v1.6", + "v1.7", + "v1.8" ], "type": "string" }, - "ProjectType": { + "WarehouseTypes.SNOWFLAKE": { "enum": [ - "DEFAULT", - "PREVIEW" + "snowflake" ], "type": "string" }, - "OrganizationProject": { + "WeekDay": { + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "number" + }, + "Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__": { "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" + }, + "warehouse": { + "type": "string" + }, + "role": { + "type": "string" + }, + "account": { + "type": "string" + }, "requireUserCredentials": { "type": "boolean" }, - "warehouseType": { - "$ref": "#/components/schemas/WarehouseTypes" + "database": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ProjectType" + "schema": { + "type": "string" }, - "name": { + "threads": { + "type": "number", + "format": "double" + }, + "clientSessionKeepAlive": { + "type": "boolean" + }, + "queryTag": { "type": "string" }, - "projectUuid": { - "type": "string", - "description": "The unique identifier of the project", - "format": "uuid" + "accessUrl": { + "type": "string" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true + }, + "quotedIdentifiersIgnoreCase": { + "type": "boolean" + }, + "override": { + "type": "string" } }, "required": [ - "requireUserCredentials", - "warehouseType", "type", - "name", - "projectUuid" + "warehouse", + "account", + "database", + "schema" ], "type": "object", - "description": "Summary of a project under an organization" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiOrganizationProjects": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/OrganizationProject" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" + "WarehouseTypes.REDSHIFT": { + "enum": [ + "redshift" ], - "type": "object", - "description": "List of projects in the current organization" + "type": "string" }, - "KnexPaginateArgs": { + "Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "page": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.REDSHIFT" + }, + "requireUserCredentials": { + "type": "boolean" + }, + "schema": { + "type": "string" + }, + "threads": { + "type": "number", + "format": "double" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true + }, + "useSshTunnel": { + "type": "boolean" + }, + "sshTunnelHost": { + "type": "string" + }, + "sshTunnelPort": { + "type": "number", + "format": "double" + }, + "sshTunnelUser": { + "type": "string" + }, + "sshTunnelPublicKey": { + "type": "string" + }, + "host": { + "type": "string" + }, + "port": { "type": "number", "format": "double" }, - "pageSize": { + "dbname": { + "type": "string" + }, + "keepalivesIdle": { "type": "number", "format": "double" + }, + "sslmode": { + "type": "string" + }, + "ra3Node": { + "type": "boolean" } }, "required": [ - "page", - "pageSize" + "type", + "schema", + "host", + "port", + "dbname" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "OrganizationMemberRole": { + "WarehouseTypes.POSTGRES": { "enum": [ - "member", - "viewer", - "interactive_viewer", - "editor", - "developer", - "admin" + "postgres" ], "type": "string" }, - "OrganizationMemberProfile": { + "Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "isInviteExpired": { - "type": "boolean", - "description": "Whether the user's invite to the organization has expired" - }, - "isActive": { - "type": "boolean", - "description": "Whether the user has accepted their invite to the organization" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.POSTGRES" }, "role": { - "$ref": "#/components/schemas/OrganizationMemberRole", - "description": "The role of the user in the organization" + "type": "string" }, - "organizationUuid": { - "type": "string", - "description": "Unique identifier for the organization the user is a member of" + "requireUserCredentials": { + "type": "boolean" }, - "email": { + "schema": { "type": "string" }, - "lastName": { + "threads": { + "type": "number", + "format": "double" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true + }, + "useSshTunnel": { + "type": "boolean" + }, + "sshTunnelHost": { "type": "string" }, - "firstName": { + "sshTunnelPort": { + "type": "number", + "format": "double" + }, + "sshTunnelUser": { "type": "string" }, - "userUuid": { - "type": "string", - "description": "Unique identifier for the user", - "format": "uuid" + "sshTunnelPublicKey": { + "type": "string" + }, + "host": { + "type": "string" + }, + "port": { + "type": "number", + "format": "double" + }, + "dbname": { + "type": "string" + }, + "keepalivesIdle": { + "type": "number", + "format": "double" + }, + "sslmode": { + "type": "string" + }, + "searchPath": { + "type": "string" } }, "required": [ - "isActive", - "role", - "organizationUuid", - "email", - "lastName", - "firstName", - "userUuid" + "type", + "schema", + "host", + "port", + "dbname" ], "type": "object", - "description": "Profile for a user's membership in an organization" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "KnexPaginatedData_OrganizationMemberProfile-Array_": { + "WarehouseTypes.BIGQUERY": { + "enum": [ + "bigquery" + ], + "type": "string" + }, + "Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "pagination": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" + }, + "requireUserCredentials": { + "type": "boolean" + }, + "threads": { + "type": "number", + "format": "double" + }, + "startOfWeek": { "allOf": [ { - "$ref": "#/components/schemas/KnexPaginateArgs" - }, - { - "properties": { - "totalPageCount": { - "type": "number", - "format": "double" - } - }, - "required": [ - "totalPageCount" - ], - "type": "object" + "$ref": "#/components/schemas/WeekDay" } - ] + ], + "nullable": true }, - "data": { - "items": { - "$ref": "#/components/schemas/OrganizationMemberProfile" - }, - "type": "array" - } - }, - "required": [ - "data" - ], - "type": "object" - }, - "ApiOrganizationMemberProfiles": { - "properties": { - "results": { - "$ref": "#/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_" + "project": { + "type": "string" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" - }, - "UUID": { - "type": "string", - "format": "uuid", - "description": "Stringified UUIDv4.\nSee [RFC 4112](https://tools.ietf.org/html/rfc4122)", - "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}" - }, - "ApiOrganizationMemberProfile": { - "properties": { - "results": { - "$ref": "#/components/schemas/OrganizationMemberProfile" + "dataset": { + "type": "string" }, - "status": { + "timeoutSeconds": { + "type": "number", + "format": "double" + }, + "priority": { "type": "string", "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" - }, - "OrganizationMemberProfileUpdate": { - "properties": { - "role": { - "$ref": "#/components/schemas/OrganizationMemberRole" - } - }, - "required": [ - "role" - ], - "type": "object" - }, - "ProjectMemberRole.EDITOR": { - "enum": [ - "editor" - ], - "type": "string" - }, - "ProjectMemberRole.INTERACTIVE_VIEWER": { - "enum": [ - "interactive_viewer" - ], - "type": "string" - }, - "ProjectMemberRole.VIEWER": { - "enum": [ - "viewer" - ], - "type": "string" - }, - "AllowedEmailDomainProjectsRole": { - "anyOf": [ - { - "$ref": "#/components/schemas/ProjectMemberRole.EDITOR" + "interactive", + "batch" + ] }, - { - "$ref": "#/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER" + "retries": { + "type": "number", + "format": "double" }, - { - "$ref": "#/components/schemas/ProjectMemberRole.VIEWER" + "location": { + "type": "string" + }, + "maximumBytesBilled": { + "type": "number", + "format": "double" + }, + "executionProject": { + "type": "string" } - ] - }, - "OrganizationMemberRole.EDITOR": { - "enum": [ - "editor" - ], - "type": "string" - }, - "OrganizationMemberRole.INTERACTIVE_VIEWER": { - "enum": [ - "interactive_viewer" - ], - "type": "string" - }, - "OrganizationMemberRole.VIEWER": { - "enum": [ - "viewer" + }, + "required": [ + "type", + "project", + "dataset" ], - "type": "string" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "OrganizationMemberRole.MEMBER": { + "WarehouseTypes.DATABRICKS": { "enum": [ - "member" + "databricks" ], "type": "string" }, - "AllowedEmailDomainsRole": { - "anyOf": [ - { - "$ref": "#/components/schemas/OrganizationMemberRole.EDITOR" + "Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" }, - { - "$ref": "#/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER" + "requireUserCredentials": { + "type": "boolean" }, - { - "$ref": "#/components/schemas/OrganizationMemberRole.VIEWER" + "database": { + "type": "string" }, - { - "$ref": "#/components/schemas/OrganizationMemberRole.MEMBER" - } - ] - }, - "AllowedEmailDomains": { - "properties": { - "projects": { - "items": { - "properties": { - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" - }, - "projectUuid": { - "type": "string" - } - }, - "required": [ - "role", - "projectUuid" - ], - "type": "object" - }, - "type": "array" + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true }, - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainsRole" + "catalog": { + "type": "string" }, - "emailDomains": { - "items": { - "type": "string" - }, - "type": "array" + "serverHostName": { + "type": "string" }, - "organizationUuid": { + "httpPath": { "type": "string" } }, "required": [ - "projects", - "role", - "emailDomains", - "organizationUuid" + "type", + "database", + "serverHostName", + "httpPath" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiOrganizationAllowedEmailDomains": { + "WarehouseTypes.TRINO": { + "enum": [ + "trino" + ], + "type": "string" + }, + "Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "results": { - "$ref": "#/components/schemas/AllowedEmailDomains" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.TRINO" }, - "status": { - "type": "string", - "enum": [ - "ok" + "requireUserCredentials": { + "type": "boolean" + }, + "schema": { + "type": "string" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } ], - "nullable": false + "nullable": true + }, + "host": { + "type": "string" + }, + "port": { + "type": "number", + "format": "double" + }, + "dbname": { + "type": "string" + }, + "http_scheme": { + "type": "string" } }, "required": [ - "results", - "status" + "type", + "schema", + "host", + "port", + "dbname", + "http_scheme" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__": { - "properties": { - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainsRole" + "WarehouseCredentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__" }, - "emailDomains": { - "items": { - "type": "string" - }, - "type": "array" + { + "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__" }, - "projects": { - "items": { - "properties": { - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" - }, - "projectUuid": { - "type": "string" - } - }, - "required": [ - "role", - "projectUuid" - ], - "type": "object" - }, - "type": "array" + { + "$ref": "#/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__" + }, + { + "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__" + }, + { + "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__" + }, + { + "$ref": "#/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__" } - }, - "required": [ - "role", - "emailDomains", - "projects" + ] + }, + "DbtProjectType.DBT": { + "enum": [ + "dbt" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "string" }, - "ApiGroupListResponse": { + "DbtProjectEnvironmentVariable": { "properties": { - "results": { - "anyOf": [ - { - "items": { - "$ref": "#/components/schemas/Group" - }, - "type": "array" - }, - { - "items": { - "$ref": "#/components/schemas/GroupWithMembers" - }, - "type": "array" - } - ] + "value": { + "type": "string" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "key": { + "type": "string" } }, "required": [ - "results", - "status" + "value", + "key" ], "type": "object" }, - "Pick_Group.name_": { + "DbtLocalProjectConfig": { "properties": { - "name": { - "type": "string", - "description": "A friendly name for the group" + "type": { + "$ref": "#/components/schemas/DbtProjectType.DBT" + }, + "target": { + "type": "string" + }, + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" + }, + "profiles_dir": { + "type": "string" + }, + "project_dir": { + "type": "string" } }, "required": [ - "name" + "type" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "CreateGroup": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Group.name_" - }, - { - "properties": { - "members": { - "items": { - "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" - }, - "type": "array" - } - }, - "type": "object" - } - ] + "additionalProperties": true }, - "ResourceItemCategory": { + "DbtProjectType.DBT_CLOUD_IDE": { "enum": [ - "mostPopular", - "recentlyUpdated", - "pinned" + "dbt_cloud_ide" ], "type": "string" }, - "Pick_ValidationResponse.error-or-createdAt-or-validationId_": { + "DbtCloudIDEProjectConfig": { "properties": { - "validationId": { - "type": "number", - "format": "double" + "type": { + "$ref": "#/components/schemas/DbtProjectType.DBT_CLOUD_IDE" }, - "createdAt": { - "type": "string", - "format": "date-time" + "api_key": { + "type": "string" }, - "error": { + "environment_id": { "type": "string" } }, "required": [ - "validationId", - "createdAt", - "error" + "type", + "api_key", + "environment_id" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": true }, - "Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_": { + "DbtProjectType.GITHUB": { + "enum": [ + "github" + ], + "type": "string" + }, + "DbtGithubProjectConfig": { "properties": { - "name": { - "type": "string" + "type": { + "$ref": "#/components/schemas/DbtProjectType.GITHUB" }, - "description": { + "target": { "type": "string" }, - "uuid": { - "type": "string" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" }, - "spaceUuid": { + "personal_access_token": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "updatedAt": { - "type": "string", - "format": "date-time" + "repository": { + "type": "string" }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" + "branch": { + "type": "string" }, - "views": { - "type": "number", - "format": "double" + "project_sub_path": { + "type": "string" }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true + "host_domain": { + "type": "string" + } + }, + "required": [ + "type", + "personal_access_token", + "repository", + "branch", + "project_sub_path" + ], + "type": "object", + "additionalProperties": true + }, + "DbtProjectType.BITBUCKET": { + "enum": [ + "bitbucket" + ], + "type": "string" + }, + "DbtBitBucketProjectConfig": { + "properties": { + "type": { + "$ref": "#/components/schemas/DbtProjectType.BITBUCKET" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "target": { + "type": "string" }, - "validationErrors": { + "environment": { "items": { - "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" }, "type": "array" + }, + "username": { + "type": "string" + }, + "personal_access_token": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "project_sub_path": { + "type": "string" + }, + "host_domain": { + "type": "string" } }, "required": [ - "name", - "uuid", - "spaceUuid", - "pinnedListUuid", - "updatedAt", - "views", - "firstViewedAt", - "pinnedListOrder" + "type", + "username", + "personal_access_token", + "repository", + "branch", + "project_sub_path" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": true }, - "ResourceViewItemType.DASHBOARD": { + "DbtProjectType.GITLAB": { "enum": [ - "dashboard" + "gitlab" ], "type": "string" }, - "ResourceViewDashboardItem": { + "DbtGitlabProjectConfig": { "properties": { - "category": { - "$ref": "#/components/schemas/ResourceItemCategory" + "type": { + "$ref": "#/components/schemas/DbtProjectType.GITLAB" }, - "data": { - "$ref": "#/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_" + "target": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType.DASHBOARD" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" + }, + "personal_access_token": { + "type": "string" + }, + "repository": { + "type": "string" + }, + "branch": { + "type": "string" + }, + "project_sub_path": { + "type": "string" + }, + "host_domain": { + "type": "string" } }, "required": [ - "data", - "type" + "type", + "personal_access_token", + "repository", + "branch", + "project_sub_path" ], - "type": "object" + "type": "object", + "additionalProperties": true }, - "ChartType": { + "DbtProjectType.AZURE_DEVOPS": { "enum": [ - "cartesian", - "table", - "big_number", - "pie", - "funnel", - "custom" + "azure_devops" ], "type": "string" }, - "Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_": { + "DbtAzureDevOpsProjectConfig": { "properties": { - "name": { + "type": { + "$ref": "#/components/schemas/DbtProjectType.AZURE_DEVOPS" + }, + "target": { "type": "string" }, - "description": { - "type": "string" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" }, - "uuid": { + "personal_access_token": { "type": "string" }, - "spaceUuid": { + "organization": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "slug": { + "project": { "type": "string" }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" - }, - "views": { - "type": "number", - "format": "double" - }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "repository": { + "type": "string" }, - "validationErrors": { - "items": { - "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" - }, - "type": "array" + "branch": { + "type": "string" }, - "chartType": { - "$ref": "#/components/schemas/ChartType" + "project_sub_path": { + "type": "string" } }, "required": [ - "name", - "uuid", - "spaceUuid", - "pinnedListUuid", - "slug", - "updatedAt", - "views", - "firstViewedAt", - "pinnedListOrder" + "type", + "personal_access_token", + "organization", + "project", + "repository", + "branch", + "project_sub_path" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ChartSourceType": { - "enum": [ - "dbt_explore", - "sql", - "semantic_layer" - ], - "type": "string" + "additionalProperties": true }, - "ResourceViewItemType.CHART": { + "DbtProjectType.NONE": { "enum": [ - "chart" + "none" ], "type": "string" }, - "ResourceViewChartItem": { + "DbtNoneProjectConfig": { "properties": { - "category": { - "$ref": "#/components/schemas/ResourceItemCategory" + "type": { + "$ref": "#/components/schemas/DbtProjectType.NONE" }, - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_" - }, - { - "properties": { - "source": { - "$ref": "#/components/schemas/ChartSourceType" - } - }, - "type": "object" - } - ] + "target": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType.CHART" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" + }, + "hideRefreshButton": { + "type": "boolean" } }, "required": [ - "data", "type" ], - "type": "object" + "type": "object", + "additionalProperties": true }, - "Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_": { + "DbtProjectConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/DbtLocalProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtCloudIDEProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtGithubProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtBitBucketProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtGitlabProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtAzureDevOpsProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtNoneProjectConfig" + } + ] + }, + "Project": { "properties": { - "name": { - "type": "string" + "createdByUserUuid": { + "type": "string", + "nullable": true }, - "uuid": { + "schedulerTimezone": { "type": "string" }, - "projectUuid": { - "type": "string" + "semanticLayerConnection": { + "$ref": "#/components/schemas/SemanticLayerConnection" }, - "organizationUuid": { + "dbtVersion": { + "$ref": "#/components/schemas/SupportedDbtVersions" + }, + "upstreamProjectUuid": { "type": "string" }, "pinnedListUuid": { - "type": "string", - "nullable": true + "type": "string" }, - "isPrivate": { - "type": "boolean" + "warehouseConnection": { + "$ref": "#/components/schemas/WarehouseCredentials" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true - } - }, - "required": [ - "name", - "uuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "isPrivate", - "pinnedListOrder" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ResourceViewItemType.SPACE": { - "enum": [ - "space" - ], - "type": "string" - }, - "ResourceViewSpaceItem": { - "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_" - }, - { - "properties": { - "chartCount": { - "type": "number", - "format": "double" - }, - "dashboardCount": { - "type": "number", - "format": "double" - }, - "accessListLength": { - "type": "number", - "format": "double" - }, - "access": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "chartCount", - "dashboardCount", - "accessListLength", - "access" - ], - "type": "object" - } - ] + "dbtConnection": { + "$ref": "#/components/schemas/DbtProjectConfig" }, "type": { - "$ref": "#/components/schemas/ResourceViewItemType.SPACE" + "$ref": "#/components/schemas/ProjectType" + }, + "name": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" } }, "required": [ - "data", - "type" + "createdByUserUuid", + "schedulerTimezone", + "dbtVersion", + "dbtConnection", + "type", + "name", + "projectUuid", + "organizationUuid" ], "type": "object" }, - "PinnedItems": { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResourceViewDashboardItem" - }, - { - "$ref": "#/components/schemas/ResourceViewChartItem" - }, - { - "$ref": "#/components/schemas/ResourceViewSpaceItem" - } - ] - }, - "type": "array" - }, - "ApiPinnedItems": { + "ApiProjectResponse": { "properties": { "results": { - "$ref": "#/components/schemas/PinnedItems" + "$ref": "#/components/schemas/Project" }, "status": { "type": "string", @@ -11162,1256 +14632,1363 @@ ], "type": "object" }, - "Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_": { + "Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_": { "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, "uuid": { "type": "string" }, - "pinnedListOrder": { - "type": "number", - "format": "double", + "spaceName": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "dashboardName": { + "type": "string", "nullable": true + }, + "slug": { + "type": "string" } }, "required": [ + "name", "uuid", - "pinnedListOrder" + "spaceName", + "spaceUuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "dashboardUuid", + "dashboardName", + "slug" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ResourceViewItemType": { - "enum": [ - "chart", - "dashboard", - "space" - ], - "type": "string" - }, - "UpdatePinnedItemOrder": { - "properties": { - "data": { - "$ref": "#/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_" + "ChartSummary": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType" + { + "properties": { + "source": { + "$ref": "#/components/schemas/ChartSourceType" + }, + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "chartType": { + "$ref": "#/components/schemas/ChartType" + } + }, + "type": "object" } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "SemanticLayerType.DBT": { - "enum": [ - "DBT" - ], - "type": "string" + ] }, - "DbtSemanticLayerConnection": { + "Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_": { "properties": { - "token": { - "type": "string" - }, - "domain": { - "type": "string" + "updatedAt": { + "type": "string", + "format": "date-time" }, - "environmentId": { - "type": "string" + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" }, - "type": { - "$ref": "#/components/schemas/SemanticLayerType.DBT" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "token", - "domain", - "environmentId", - "type" - ], - "type": "object" - }, - "SemanticLayerType.CUBE": { - "enum": [ - "CUBE" + "updatedAt", + "pinnedListOrder" ], - "type": "string" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "CubeSemanticLayerConnection": { + "ViewStatistics": { "properties": { - "token": { - "type": "string" - }, - "domain": { - "type": "string" + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true }, - "type": { - "$ref": "#/components/schemas/SemanticLayerType.CUBE" + "views": { + "type": "number", + "format": "double" } }, "required": [ - "token", - "domain", - "type" + "firstViewedAt", + "views" ], "type": "object" }, - "SemanticLayerConnection": { - "anyOf": [ + "SpaceQuery": { + "allOf": [ { - "$ref": "#/components/schemas/DbtSemanticLayerConnection" + "$ref": "#/components/schemas/ChartSummary" }, { - "$ref": "#/components/schemas/CubeSemanticLayerConnection" + "$ref": "#/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_" + }, + { + "$ref": "#/components/schemas/ViewStatistics" + }, + { + "properties": { + "validationErrors": { + "items": { + "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" + }, + "type": "array" + } + }, + "type": "object" } ] }, - "SupportedDbtVersions": { - "enum": [ - "v1.4", - "v1.5", - "v1.6", - "v1.7", - "v1.8" - ], - "type": "string" - }, - "WarehouseTypes.SNOWFLAKE": { - "enum": [ - "snowflake" + "ApiChartListResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/SpaceQuery" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" ], - "type": "string" + "type": "object" }, - "WeekDay": { - "enum": [ - 0, - 1, - 2, - 3, - 4, - 5, - 6 + "ApiChartSummaryListResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/ChartSummary" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" ], - "type": "number" + "type": "object" }, - "Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__": { + "Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" - }, - "warehouse": { - "type": "string" - }, - "role": { + "name": { "type": "string" }, - "account": { + "uuid": { "type": "string" }, - "requireUserCredentials": { - "type": "boolean" - }, - "database": { + "projectUuid": { "type": "string" }, - "schema": { + "organizationUuid": { "type": "string" }, - "threads": { - "type": "number", - "format": "double" - }, - "clientSessionKeepAlive": { - "type": "boolean" - }, - "queryTag": { - "type": "string" + "pinnedListUuid": { + "type": "string", + "nullable": true }, - "accessUrl": { + "slug": { "type": "string" }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], - "nullable": true - }, - "quotedIdentifiersIgnoreCase": { + "isPrivate": { "type": "boolean" }, - "override": { - "type": "string" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "type", - "warehouse", - "account", - "database", - "schema" + "name", + "uuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "slug", + "isPrivate", + "pinnedListOrder" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "WarehouseTypes.REDSHIFT": { + "SpaceMemberRole": { "enum": [ - "redshift" + "viewer", + "editor", + "admin" ], "type": "string" }, - "Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__": { + "SpaceShare": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.REDSHIFT" - }, - "requireUserCredentials": { - "type": "boolean" - }, - "schema": { - "type": "string" - }, - "threads": { - "type": "number", - "format": "double" + "inheritedFrom": { + "type": "string", + "enum": [ + "organization", + "project", + "group", + "space_group" + ] }, - "startOfWeek": { - "allOf": [ + "inheritedRole": { + "anyOf": [ { - "$ref": "#/components/schemas/WeekDay" + "$ref": "#/components/schemas/OrganizationMemberRole" + }, + { + "$ref": "#/components/schemas/ProjectMemberRole" } - ], - "nullable": true + ] }, - "useSshTunnel": { - "type": "boolean" + "projectRole": { + "$ref": "#/components/schemas/ProjectMemberRole" }, - "sshTunnelHost": { - "type": "string" + "hasDirectAccess": { + "type": "boolean" }, - "sshTunnelPort": { - "type": "number", - "format": "double" + "role": { + "$ref": "#/components/schemas/SpaceMemberRole" }, - "sshTunnelUser": { + "email": { "type": "string" }, - "sshTunnelPublicKey": { + "lastName": { "type": "string" }, - "host": { + "firstName": { "type": "string" }, - "port": { - "type": "number", - "format": "double" - }, - "dbname": { + "userUuid": { "type": "string" + } + }, + "required": [ + "hasDirectAccess", + "role", + "email", + "lastName", + "firstName", + "userUuid" + ], + "type": "object" + }, + "SpaceSummary": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_" }, - "keepalivesIdle": { - "type": "number", - "format": "double" + { + "properties": { + "dashboardCount": { + "type": "number", + "format": "double" + }, + "chartCount": { + "type": "number", + "format": "double" + }, + "access": { + "items": { + "type": "string" + }, + "type": "array" + }, + "userAccess": { + "$ref": "#/components/schemas/SpaceShare" + } + }, + "required": [ + "dashboardCount", + "chartCount", + "access" + ], + "type": "object" + } + ] + }, + "ApiSpaceSummaryListResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/SpaceSummary" + }, + "type": "array" }, - "sslmode": { + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "Pick_SpaceShare.userUuid-or-role_": { + "properties": { + "userUuid": { "type": "string" }, - "ra3Node": { - "type": "boolean" + "role": { + "$ref": "#/components/schemas/SpaceMemberRole" } }, "required": [ - "type", - "schema", - "host", - "port", - "dbname" + "userUuid", + "role" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "WarehouseTypes.POSTGRES": { - "enum": [ - "postgres" + "CreateSpace": { + "properties": { + "access": { + "items": { + "$ref": "#/components/schemas/Pick_SpaceShare.userUuid-or-role_" + }, + "type": "array" + }, + "isPrivate": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "required": [ + "name" ], - "type": "string" + "type": "object" + }, + "SpaceGroup": { + "properties": { + "spaceRole": { + "$ref": "#/components/schemas/SpaceMemberRole" + }, + "groupName": { + "type": "string" + }, + "groupUuid": { + "type": "string" + } + }, + "required": [ + "spaceRole", + "groupName", + "groupUuid" + ], + "type": "object" }, - "Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__": { + "Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.POSTGRES" - }, - "role": { + "name": { "type": "string" }, - "requireUserCredentials": { - "type": "boolean" - }, - "schema": { + "description": { "type": "string" }, - "threads": { - "type": "number", - "format": "double" - }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], - "nullable": true - }, - "useSshTunnel": { - "type": "boolean" - }, - "sshTunnelHost": { + "uuid": { "type": "string" }, - "sshTunnelPort": { - "type": "number", - "format": "double" - }, - "sshTunnelUser": { + "spaceUuid": { "type": "string" }, - "sshTunnelPublicKey": { + "projectUuid": { "type": "string" }, - "host": { + "organizationUuid": { "type": "string" }, - "port": { - "type": "number", - "format": "double" + "pinnedListUuid": { + "type": "string", + "nullable": true }, - "dbname": { - "type": "string" + "updatedAt": { + "type": "string", + "format": "date-time" }, - "keepalivesIdle": { + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { "type": "number", "format": "double" }, - "sslmode": { - "type": "string" + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true }, - "searchPath": { - "type": "string" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "type", - "schema", - "host", - "port", - "dbname" + "name", + "uuid", + "spaceUuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "updatedAt", + "views", + "firstViewedAt", + "pinnedListOrder" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "WarehouseTypes.BIGQUERY": { - "enum": [ - "bigquery" - ], - "type": "string" + "DashboardBasicDetails": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_" + }, + { + "properties": { + "validationErrors": { + "items": { + "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" + }, + "type": "array" + } + }, + "type": "object" + } + ] }, - "Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__": { + "Space": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" - }, - "requireUserCredentials": { - "type": "boolean" + "slug": { + "type": "string" }, - "threads": { + "pinnedListOrder": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], + "pinnedListUuid": { + "type": "string", "nullable": true }, - "project": { - "type": "string" + "groupsAccess": { + "items": { + "$ref": "#/components/schemas/SpaceGroup" + }, + "type": "array" }, - "dataset": { - "type": "string" + "access": { + "items": { + "$ref": "#/components/schemas/SpaceShare" + }, + "type": "array" }, - "timeoutSeconds": { - "type": "number", - "format": "double" + "dashboards": { + "items": { + "$ref": "#/components/schemas/DashboardBasicDetails" + }, + "type": "array" }, - "priority": { - "type": "string", - "enum": [ - "interactive", - "batch" - ] + "projectUuid": { + "type": "string" }, - "retries": { - "type": "number", - "format": "double" + "queries": { + "items": { + "$ref": "#/components/schemas/SpaceQuery" + }, + "type": "array" }, - "location": { + "isPrivate": { + "type": "boolean" + }, + "name": { "type": "string" }, - "maximumBytesBilled": { - "type": "number", - "format": "double" + "uuid": { + "type": "string" }, - "executionProject": { + "organizationUuid": { "type": "string" } }, "required": [ - "type", - "project", - "dataset" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "WarehouseTypes.DATABRICKS": { - "enum": [ - "databricks" + "slug", + "pinnedListOrder", + "pinnedListUuid", + "groupsAccess", + "access", + "dashboards", + "projectUuid", + "queries", + "isPrivate", + "name", + "uuid", + "organizationUuid" ], - "type": "string" + "type": "object" }, - "Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__": { + "ApiSpaceResponse": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" - }, - "requireUserCredentials": { - "type": "boolean" - }, - "database": { - "type": "string" + "results": { + "$ref": "#/components/schemas/Space" }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } + "status": { + "type": "string", + "enum": [ + "ok" ], - "nullable": true - }, - "catalog": { - "type": "string" - }, - "serverHostName": { - "type": "string" - }, - "httpPath": { - "type": "string" + "nullable": false } }, "required": [ - "type", - "database", - "serverHostName", - "httpPath" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "WarehouseTypes.TRINO": { - "enum": [ - "trino" + "results", + "status" ], - "type": "string" + "type": "object" }, - "Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__": { + "ProjectMemberProfile": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.TRINO" - }, - "requireUserCredentials": { - "type": "boolean" - }, - "schema": { + "lastName": { "type": "string" }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], - "nullable": true + "firstName": { + "type": "string" }, - "host": { + "email": { "type": "string" }, - "port": { - "type": "number", - "format": "double" + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" }, - "dbname": { + "projectUuid": { "type": "string" }, - "http_scheme": { + "userUuid": { "type": "string" } }, "required": [ - "type", - "schema", - "host", - "port", - "dbname", - "http_scheme" + "lastName", + "firstName", + "email", + "role", + "projectUuid", + "userUuid" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "WarehouseCredentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__" - }, - { - "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__" - }, - { - "$ref": "#/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__" - }, - { - "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__" - }, - { - "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__" + "ApiProjectAccessListResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/ProjectMemberProfile" + }, + "type": "array" }, - { - "$ref": "#/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } - ] - }, - "DbtProjectType.DBT": { - "enum": [ - "dbt" + }, + "required": [ + "results", + "status" ], - "type": "string" + "type": "object" }, - "DbtProjectEnvironmentVariable": { + "CreateProjectMember": { "properties": { - "value": { - "type": "string" + "sendEmail": { + "type": "boolean" }, - "key": { + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" + }, + "email": { "type": "string" } }, "required": [ - "value", - "key" + "sendEmail", + "role", + "email" ], "type": "object" }, - "DbtLocalProjectConfig": { + "ApiGetProjectMemberResponse": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.DBT" - }, - "target": { - "type": "string" - }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" - }, - "profiles_dir": { - "type": "string" + "results": { + "$ref": "#/components/schemas/ProjectMemberProfile" }, - "project_dir": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "type" + "results", + "status" ], - "type": "object", - "additionalProperties": true + "type": "object" }, - "DbtProjectType.DBT_CLOUD_IDE": { - "enum": [ - "dbt_cloud_ide" + "UpdateProjectMember": { + "properties": { + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" + } + }, + "required": [ + "role" ], - "type": "string" + "type": "object" }, - "DbtCloudIDEProjectConfig": { + "ApiGetProjectGroupAccesses": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.DBT_CLOUD_IDE" - }, - "api_key": { - "type": "string" + "results": { + "items": { + "$ref": "#/components/schemas/ProjectGroupAccess" + }, + "type": "array" }, - "environment_id": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "type", - "api_key", - "environment_id" + "results", + "status" ], + "type": "object" + }, + "Record_string.unknown_": { + "properties": {}, "type": "object", - "additionalProperties": true + "description": "Construct a type with a set of properties K of type T" }, - "DbtProjectType.GITHUB": { - "enum": [ - "github" - ], - "type": "string" + "Record_string._type-DimensionType--__": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "DbtGithubProjectConfig": { + "ApiSqlQueryResults": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.GITHUB" - }, - "target": { - "type": "string" - }, - "environment": { + "rows": { "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + "$ref": "#/components/schemas/Record_string.unknown_" }, "type": "array" }, - "personal_access_token": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "project_sub_path": { - "type": "string" - }, - "host_domain": { - "type": "string" + "fields": { + "$ref": "#/components/schemas/Record_string._type-DimensionType--__" } }, "required": [ - "type", - "personal_access_token", - "repository", - "branch", - "project_sub_path" + "rows", + "fields" ], - "type": "object", - "additionalProperties": true + "type": "object" }, - "DbtProjectType.BITBUCKET": { + "DateGranularity": { "enum": [ - "bitbucket" + "Day", + "Week", + "Month", + "Quarter", + "Year" ], "type": "string" }, - "DbtBitBucketProjectConfig": { + "MetricQueryRequest": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.BITBUCKET" + "timezone": { + "type": "string" + }, + "metadata": { + "properties": { + "hasADateDimension": { + "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" + } + }, + "required": [ + "hasADateDimension" + ], + "type": "object" + }, + "granularity": { + "$ref": "#/components/schemas/DateGranularity" + }, + "customDimensions": { + "items": { + "$ref": "#/components/schemas/CustomDimension" + }, + "type": "array" }, - "target": { - "type": "string" + "csvLimit": { + "type": "number", + "format": "double" }, - "environment": { + "additionalMetrics": { "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + "$ref": "#/components/schemas/AdditionalMetric" }, "type": "array" }, - "username": { - "type": "string" + "tableCalculations": { + "items": { + "$ref": "#/components/schemas/TableCalculation" + }, + "type": "array" }, - "personal_access_token": { - "type": "string" + "limit": { + "type": "number", + "format": "double" }, - "repository": { - "type": "string" + "sorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" }, - "branch": { - "type": "string" + "filters": { + "properties": { + "tableCalculations": {}, + "metrics": {}, + "dimensions": {} + }, + "type": "object" }, - "project_sub_path": { - "type": "string" + "metrics": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" }, - "host_domain": { + "dimensions": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "exploreName": { "type": "string" } }, "required": [ - "type", - "username", - "personal_access_token", - "repository", - "branch", - "project_sub_path" - ], - "type": "object", - "additionalProperties": true - }, - "DbtProjectType.GITLAB": { - "enum": [ - "gitlab" + "tableCalculations", + "limit", + "sorts", + "filters", + "metrics", + "dimensions", + "exploreName" ], - "type": "string" + "type": "object" }, - "DbtGitlabProjectConfig": { + "CalculateTotalFromQuery": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.GITLAB" - }, - "target": { - "type": "string" - }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" - }, - "personal_access_token": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "project_sub_path": { + "explore": { "type": "string" }, - "host_domain": { - "type": "string" + "metricQuery": { + "$ref": "#/components/schemas/MetricQueryRequest" } }, "required": [ - "type", - "personal_access_token", - "repository", - "branch", - "project_sub_path" + "explore", + "metricQuery" ], + "type": "object" + }, + "Record_string.number_": { + "properties": {}, "type": "object", - "additionalProperties": true + "description": "Construct a type with a set of properties K of type T" }, - "DbtProjectType.AZURE_DEVOPS": { - "enum": [ - "azure_devops" + "ApiCalculateTotalResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/Record_string.number_" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" ], - "type": "string" + "type": "object" }, - "DbtAzureDevOpsProjectConfig": { + "Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_": { "properties": { "type": { - "$ref": "#/components/schemas/DbtProjectType.AZURE_DEVOPS" - }, - "target": { - "type": "string" - }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" - }, - "personal_access_token": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "project": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "branch": { - "type": "string" + "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" }, - "project_sub_path": { + "user": { "type": "string" } }, "required": [ "type", - "personal_access_token", - "organization", - "project", - "repository", - "branch", - "project_sub_path" + "user" ], "type": "object", - "additionalProperties": true - }, - "DbtProjectType.NONE": { - "enum": [ - "none" - ], - "type": "string" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "DbtNoneProjectConfig": { + "Pick_CreateBigqueryCredentials.type_": { "properties": { "type": { - "$ref": "#/components/schemas/DbtProjectType.NONE" - }, - "target": { - "type": "string" - }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" - }, - "hideRefreshButton": { - "type": "boolean" + "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" } }, "required": [ "type" ], "type": "object", - "additionalProperties": true + "description": "From T, pick a set of properties whose keys are in the union K" }, - "DbtProjectConfig": { - "anyOf": [ - { - "$ref": "#/components/schemas/DbtLocalProjectConfig" - }, - { - "$ref": "#/components/schemas/DbtCloudIDEProjectConfig" - }, - { - "$ref": "#/components/schemas/DbtGithubProjectConfig" - }, - { - "$ref": "#/components/schemas/DbtBitBucketProjectConfig" - }, - { - "$ref": "#/components/schemas/DbtGitlabProjectConfig" - }, - { - "$ref": "#/components/schemas/DbtAzureDevOpsProjectConfig" - }, - { - "$ref": "#/components/schemas/DbtNoneProjectConfig" + "Pick_CreateDatabricksCredentials.type_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" } - ] + }, + "required": [ + "type" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Project": { + "UserWarehouseCredentials": { "properties": { - "semanticLayerConnection": { - "$ref": "#/components/schemas/SemanticLayerConnection" - }, - "dbtVersion": { - "$ref": "#/components/schemas/SupportedDbtVersions" - }, - "upstreamProjectUuid": { - "type": "string" - }, - "pinnedListUuid": { - "type": "string" - }, - "warehouseConnection": { - "$ref": "#/components/schemas/WarehouseCredentials" + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_" + }, + { + "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.type_" + }, + { + "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.type_" + } + ] }, - "dbtConnection": { - "$ref": "#/components/schemas/DbtProjectConfig" + "updatedAt": { + "type": "string", + "format": "date-time" }, - "type": { - "$ref": "#/components/schemas/ProjectType" + "createdAt": { + "type": "string", + "format": "date-time" }, "name": { "type": "string" }, - "projectUuid": { + "userUuid": { "type": "string" }, - "organizationUuid": { + "uuid": { "type": "string" } }, "required": [ - "dbtVersion", - "dbtConnection", - "type", + "credentials", + "updatedAt", + "createdAt", "name", - "projectUuid", - "organizationUuid" + "userUuid", + "uuid" ], "type": "object" }, - "ApiProjectResponse": { + "UpdateMetadata": { "properties": { - "results": { - "$ref": "#/components/schemas/Project" - }, - "status": { + "upstreamProjectUuid": { "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "nullable": true } }, - "required": [ - "results", - "status" - ], "type": "object" }, - "Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_": { + "Partial_DbtSemanticLayerConnection_": { "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "uuid": { - "type": "string" + "type": { + "$ref": "#/components/schemas/SemanticLayerType.DBT" }, - "spaceName": { + "environmentId": { "type": "string" }, - "spaceUuid": { + "domain": { "type": "string" }, - "projectUuid": { + "token": { "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Partial_CubeSemanticLayerConnection_": { + "properties": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.CUBE" }, - "organizationUuid": { + "domain": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "dashboardUuid": { - "type": "string", - "nullable": true - }, - "dashboardName": { - "type": "string", - "nullable": true - }, - "slug": { + "token": { "type": "string" } }, - "required": [ - "name", - "uuid", - "spaceName", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "dashboardUuid", - "dashboardName", - "slug" - ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "description": "Make all properties in T optional" }, - "ChartSummary": { + "SemanticLayerConnectionUpdate": { + "anyOf": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/Partial_DbtSemanticLayerConnection_" + }, + { + "properties": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.DBT" + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/Partial_CubeSemanticLayerConnection_" + }, + { + "properties": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.CUBE" + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] + } + ] + }, + "DashboardBasicDetailsWithTileTypes": { "allOf": [ { - "$ref": "#/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_" + "$ref": "#/components/schemas/DashboardBasicDetails" }, { "properties": { - "source": { - "$ref": "#/components/schemas/ChartSourceType" - }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" - }, - "chartType": { - "$ref": "#/components/schemas/ChartType" + "tileTypes": { + "items": { + "$ref": "#/components/schemas/DashboardTileTypes" + }, + "type": "array" } }, + "required": [ + "tileTypes" + ], "type": "object" } ] }, - "Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_": { + "ApiGetDashboardsResponse": { "properties": { - "updatedAt": { - "type": "string", - "format": "date-time" + "results": { + "items": { + "$ref": "#/components/schemas/DashboardBasicDetailsWithTileTypes" + }, + "type": "array" }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + }, + "DuplicateDashboardParams": { + "properties": { + "dashboardDesc": { + "type": "string" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "dashboardName": { + "type": "string" } }, "required": [ - "updatedAt", - "pinnedListOrder" + "dashboardDesc", + "dashboardName" + ], + "type": "object" + }, + "Pick_UpdatedByUser.userUuid_": { + "properties": { + "userUuid": { + "type": "string" + } + }, + "required": [ + "userUuid" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ViewStatistics": { + "CreateDashboardTileBase": { "properties": { - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true + "tabUuid": { + "type": "string" }, - "views": { + "w": { + "type": "number", + "format": "double" + }, + "h": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "x": { "type": "number", "format": "double" + }, + "type": { + "$ref": "#/components/schemas/DashboardTileTypes" + }, + "uuid": { + "type": "string" } }, "required": [ - "firstViewedAt", - "views" + "w", + "h", + "y", + "x", + "type" ], "type": "object" }, - "SpaceQuery": { + "CreateDashboardChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" + }, + { + "$ref": "#/components/schemas/DashboardChartTileProperties" + } + ] + }, + "CreateDashboardMarkdownTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" + }, + { + "$ref": "#/components/schemas/DashboardMarkdownTileProperties" + } + ] + }, + "CreateDashboardLoomTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" + }, + { + "$ref": "#/components/schemas/DashboardLoomTileProperties" + } + ] + }, + "CreateDashboardSqlChartTile": { "allOf": [ { - "$ref": "#/components/schemas/ChartSummary" + "$ref": "#/components/schemas/CreateDashboardTileBase" }, { - "$ref": "#/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_" - }, + "$ref": "#/components/schemas/DashboardSqlChartTileProperties" + } + ] + }, + "CreateDashboardSemanticViewerChartTile": { + "allOf": [ { - "$ref": "#/components/schemas/ViewStatistics" + "$ref": "#/components/schemas/CreateDashboardTileBase" }, { - "properties": { - "validationErrors": { - "items": { - "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" - }, - "type": "array" - } - }, - "type": "object" + "$ref": "#/components/schemas/DashboardSemanticViewerChartTileProperties" } ] }, - "ApiChartListResponse": { + "CreateDashboard": { "properties": { - "results": { + "tabs": { "items": { - "$ref": "#/components/schemas/SpaceQuery" + "$ref": "#/components/schemas/DashboardTab" }, "type": "array" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false - } - }, - "required": [ - "results", - "status" - ], - "type": "object" - }, - "ApiChartSummaryListResponse": { - "properties": { - "results": { + "spaceUuid": { + "type": "string" + }, + "updatedByUser": { + "$ref": "#/components/schemas/Pick_UpdatedByUser.userUuid_" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "tiles": { "items": { - "$ref": "#/components/schemas/ChartSummary" + "anyOf": [ + { + "$ref": "#/components/schemas/CreateDashboardChartTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardMarkdownTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardLoomTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardSqlChartTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardSemanticViewerChartTile" + } + ] }, "type": "array" }, - "status": { - "type": "string", - "enum": [ - "ok" - ], - "nullable": false + "description": { + "type": "string" + }, + "name": { + "type": "string" } }, "required": [ - "results", - "status" + "tabs", + "tiles", + "name" ], "type": "object" }, - "Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_": { + "Dashboard": { "properties": { - "name": { - "type": "string" - }, - "uuid": { - "type": "string" - }, - "projectUuid": { - "type": "string" - }, - "organizationUuid": { + "slug": { "type": "string" }, - "pinnedListUuid": { - "type": "string", + "access": { + "items": { + "$ref": "#/components/schemas/SpaceShare" + }, + "type": "array", "nullable": true }, - "slug": { - "type": "string" - }, "isPrivate": { - "type": "boolean" + "type": "boolean", + "nullable": true + }, + "tabs": { + "items": { + "$ref": "#/components/schemas/DashboardTab" + }, + "type": "array" }, "pinnedListOrder": { "type": "number", "format": "double", "nullable": true - } - }, - "required": [ - "name", - "uuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "slug", - "isPrivate", - "pinnedListOrder" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "SpaceMemberRole": { - "enum": [ - "viewer", - "editor", - "admin" - ], - "type": "string" - }, - "SpaceShare": { - "properties": { - "inheritedFrom": { + }, + "pinnedListUuid": { "type": "string", - "enum": [ - "organization", - "project", - "group", - "space_group" - ] + "nullable": true }, - "inheritedRole": { + "firstViewedAt": { "anyOf": [ { - "$ref": "#/components/schemas/OrganizationMemberRole" + "type": "string", + "format": "date-time" }, { - "$ref": "#/components/schemas/ProjectMemberRole" + "type": "string" } - ] + ], + "nullable": true }, - "projectRole": { - "$ref": "#/components/schemas/ProjectMemberRole" + "views": { + "type": "number", + "format": "double" }, - "hasDirectAccess": { - "type": "boolean" + "spaceName": { + "type": "string" }, - "role": { - "$ref": "#/components/schemas/SpaceMemberRole" + "spaceUuid": { + "type": "string" }, - "email": { + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "tiles": { + "items": { + "$ref": "#/components/schemas/DashboardTile" + }, + "type": "array" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "description": { "type": "string" }, - "lastName": { + "name": { "type": "string" }, - "firstName": { + "uuid": { "type": "string" }, - "userUuid": { + "dashboardVersionId": { + "type": "number", + "format": "double" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { "type": "string" } }, "required": [ - "hasDirectAccess", - "role", - "email", - "lastName", - "firstName", - "userUuid" + "slug", + "access", + "isPrivate", + "tabs", + "pinnedListOrder", + "pinnedListUuid", + "firstViewedAt", + "views", + "spaceName", + "spaceUuid", + "filters", + "tiles", + "updatedAt", + "name", + "uuid", + "dashboardVersionId", + "projectUuid", + "organizationUuid" ], "type": "object" }, - "SpaceSummary": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_" - }, - { - "properties": { - "dashboardCount": { - "type": "number", - "format": "double" - }, - "chartCount": { - "type": "number", - "format": "double" - }, - "access": { - "items": { - "type": "string" - }, - "type": "array" - }, - "userAccess": { - "$ref": "#/components/schemas/SpaceShare" - } - }, - "required": [ - "dashboardCount", - "chartCount", - "access" - ], - "type": "object" - } - ] - }, - "ApiSpaceSummaryListResponse": { + "ApiCreateDashboardResponse": { "properties": { "results": { - "items": { - "$ref": "#/components/schemas/SpaceSummary" - }, - "type": "array" + "$ref": "#/components/schemas/Dashboard" }, "status": { "type": "string", @@ -12427,221 +16004,126 @@ ], "type": "object" }, - "Pick_SpaceShare.userUuid-or-role_": { + "Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_": { "properties": { - "userUuid": { + "name": { "type": "string" }, - "role": { - "$ref": "#/components/schemas/SpaceMemberRole" + "description": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceUuid": { + "type": "string" } }, "required": [ - "userUuid", - "role" + "name", + "uuid", + "spaceUuid" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "CreateSpace": { + "ApiUpdateDashboardsResponse": { "properties": { - "access": { + "results": { "items": { - "$ref": "#/components/schemas/Pick_SpaceShare.userUuid-or-role_" + "$ref": "#/components/schemas/Dashboard" }, "type": "array" }, - "isPrivate": { - "type": "boolean" - }, - "name": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "name" + "results", + "status" ], "type": "object" }, - "SpaceGroup": { + "UpdateSchedulerSettings": { "properties": { - "spaceRole": { - "$ref": "#/components/schemas/SpaceMemberRole" - }, - "groupName": { - "type": "string" - }, - "groupUuid": { + "schedulerTimezone": { "type": "string" } }, "required": [ - "spaceRole", - "groupName", - "groupUuid" + "schedulerTimezone" ], "type": "object" }, - "Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_": { + "Pick_LightdashUser.userUuid-or-firstName-or-lastName_": { "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "uuid": { - "type": "string" - }, - "spaceUuid": { + "userUuid": { "type": "string" }, - "projectUuid": { + "firstName": { "type": "string" }, - "organizationUuid": { + "lastName": { "type": "string" - }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" - }, - "views": { - "type": "number", - "format": "double" - }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true } }, "required": [ - "name", - "uuid", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "updatedAt", - "views", - "firstViewedAt", - "pinnedListOrder" + "userUuid", + "firstName", + "lastName" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "DashboardBasicDetails": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_" - }, - { - "properties": { - "validationErrors": { - "items": { - "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" - }, - "type": "array" - } - }, - "type": "object" - } - ] - }, - "Space": { + "Tag": { "properties": { - "slug": { - "type": "string" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", + "createdBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + } + ], "nullable": true }, - "pinnedListUuid": { + "createdAt": { "type": "string", - "nullable": true - }, - "groupsAccess": { - "items": { - "$ref": "#/components/schemas/SpaceGroup" - }, - "type": "array" - }, - "access": { - "items": { - "$ref": "#/components/schemas/SpaceShare" - }, - "type": "array" - }, - "dashboards": { - "items": { - "$ref": "#/components/schemas/DashboardBasicDetails" - }, - "type": "array" + "format": "date-time" }, - "projectUuid": { + "color": { "type": "string" }, - "queries": { - "items": { - "$ref": "#/components/schemas/SpaceQuery" - }, - "type": "array" - }, - "isPrivate": { - "type": "boolean" - }, "name": { "type": "string" }, - "uuid": { + "projectUuid": { "type": "string" }, - "organizationUuid": { + "tagUuid": { "type": "string" } }, "required": [ - "slug", - "pinnedListOrder", - "pinnedListUuid", - "groupsAccess", - "access", - "dashboards", - "projectUuid", - "queries", - "isPrivate", + "createdBy", + "createdAt", + "color", "name", - "uuid", - "organizationUuid" + "projectUuid", + "tagUuid" ], "type": "object" }, - "ApiSpaceResponse": { + "ApiGetTagsResponse": { "properties": { "results": { - "$ref": "#/components/schemas/Space" + "items": { + "$ref": "#/components/schemas/Tag" + }, + "type": "array" }, "status": { "type": "string", @@ -12657,44 +16139,34 @@ ], "type": "object" }, - "ProjectMemberProfile": { + "Pick_Tag.name-or-color_": { "properties": { - "lastName": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "email": { - "type": "string" - }, - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" - }, - "projectUuid": { + "name": { "type": "string" }, - "userUuid": { + "color": { "type": "string" } }, "required": [ - "lastName", - "firstName", - "email", - "role", - "projectUuid", - "userUuid" + "name", + "color" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiProjectAccessListResponse": { + "ApiCreateTagResponse": { "properties": { "results": { - "items": { - "$ref": "#/components/schemas/ProjectMemberProfile" + "properties": { + "tagUuid": { + "type": "string" + } }, - "type": "array" + "required": [ + "tagUuid" + ], + "type": "object" }, "status": { "type": "string", @@ -12710,60 +16182,106 @@ ], "type": "object" }, - "CreateProjectMember": { + "Partial_Pick_DbTag.name-or-color__": { "properties": { - "sendEmail": { - "type": "boolean" + "name": { + "type": "string" }, - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "color": { + "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" + }, + "Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_": { + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" }, - "email": { + "tableName": { "type": "string" - } - }, - "required": [ - "sendEmail", - "role", - "email" - ], - "type": "object" - }, - "ApiGetProjectMemberResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/ProjectMemberProfile" }, - "status": { + "updatedAt": { "type": "string", - "enum": [ - "ok" + "format": "date-time" + }, + "metricQuery": { + "$ref": "#/components/schemas/MetricQuery" + }, + "chartConfig": { + "$ref": "#/components/schemas/ChartConfig" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "columnOrder" ], - "nullable": false + "type": "object" } }, "required": [ - "results", - "status" + "name", + "dashboardUuid", + "slug", + "tableName", + "updatedAt", + "metricQuery", + "chartConfig", + "tableConfig" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "UpdateProjectMember": { - "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "ChartAsCode": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_" + }, + { + "properties": { + "downloadedAt": { + "type": "string", + "format": "date-time" + }, + "spaceSlug": { + "type": "string" + }, + "version": { + "type": "number", + "format": "double" + } + }, + "required": [ + "spaceSlug", + "version" + ], + "type": "object" } - }, - "required": [ - "role" - ], - "type": "object" + ] }, - "ApiGetProjectGroupAccesses": { + "ApiChartAsCodeListResponse": { "properties": { "results": { "items": { - "$ref": "#/components/schemas/ProjectGroupAccess" + "$ref": "#/components/schemas/ChartAsCode" }, "type": "array" }, @@ -12781,154 +16299,227 @@ ], "type": "object" }, - "Record_string.unknown_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Record_string._type-DimensionType--__": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "ApiSqlQueryResults": { + "Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_": { "properties": { - "rows": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "tabs": { "items": { - "$ref": "#/components/schemas/Record_string.unknown_" + "$ref": "#/components/schemas/DashboardTab" }, "type": "array" - }, - "fields": { - "$ref": "#/components/schemas/Record_string._type-DimensionType--__" } }, "required": [ - "rows", - "fields" - ], - "type": "object" - }, - "DateGranularity": { - "enum": [ - "Day", - "Week", - "Month", - "Quarter", - "Year" + "name", + "slug", + "updatedAt", + "filters", + "tabs" ], - "type": "string" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "MetricQueryRequest": { + "Pick_DashboardTile.Exclude_keyofDashboardTile.properties__": { "properties": { - "timezone": { - "type": "string" - }, - "metadata": { - "properties": { - "hasADateDimension": { - "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" - } - }, - "required": [ - "hasADateDimension" - ], - "type": "object" - }, - "granularity": { - "$ref": "#/components/schemas/DateGranularity" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes" }, - "customDimensions": { - "items": { - "$ref": "#/components/schemas/CustomDimension" - }, - "type": "array" + "uuid": { + "type": "string" }, - "csvLimit": { + "x": { "type": "number", "format": "double" }, - "additionalMetrics": { - "items": { - "$ref": "#/components/schemas/AdditionalMetric" - }, - "type": "array" + "y": { + "type": "number", + "format": "double" }, - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/TableCalculation" - }, - "type": "array" + "h": { + "type": "number", + "format": "double" }, - "limit": { + "w": { "type": "number", "format": "double" }, - "sorts": { - "items": { - "$ref": "#/components/schemas/SortField" - }, - "type": "array" + "tabUuid": { + "type": "string" + } + }, + "required": [ + "type", + "x", + "y", + "h", + "w" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__": { + "properties": { + "title": { + "type": "string" + } + }, + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "DashboardTileWithoutUuids": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_DashboardTile.Exclude_keyofDashboardTile.properties__" }, - "filters": { + { "properties": { - "tableCalculations": {}, - "metrics": {}, - "dimensions": {} + "properties": { + "$ref": "#/components/schemas/Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__" + } }, + "required": [ + "properties" + ], "type": "object" + } + ] + }, + "DashboardAsCode": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_" }, - "metrics": { - "items": { - "$ref": "#/components/schemas/FieldId" + { + "properties": { + "downloadedAt": { + "type": "string", + "format": "date-time" + }, + "spaceSlug": { + "type": "string" + }, + "version": { + "type": "number", + "format": "double" + }, + "tiles": { + "items": { + "$ref": "#/components/schemas/DashboardTileWithoutUuids" + }, + "type": "array" + } }, - "type": "array" - }, - "dimensions": { + "required": [ + "spaceSlug", + "version", + "tiles" + ], + "type": "object" + } + ] + }, + "ApiDashboardAsCodeListResponse": { + "properties": { + "results": { "items": { - "$ref": "#/components/schemas/FieldId" + "$ref": "#/components/schemas/DashboardAsCode" }, "type": "array" }, - "exploreName": { - "type": "string" + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false } }, "required": [ - "tableCalculations", - "limit", - "sorts", - "filters", - "metrics", - "dimensions", - "exploreName" + "results", + "status" ], "type": "object" }, - "CalculateTotalFromQuery": { + "Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__": { "properties": { - "explore": { + "name": { "type": "string" }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQueryRequest" + "description": { + "type": "string" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "columnOrder" + ], + "type": "object" + }, + "version": { + "type": "number", + "format": "double" + }, + "spaceSlug": { + "type": "string" + }, + "downloadedAt": { + "type": "string", + "format": "date-time" } }, "required": [ - "explore", - "metricQuery" + "name", + "dashboardUuid", + "slug", + "tableName", + "updatedAt", + "tableConfig", + "version", + "spaceSlug" ], - "type": "object" - }, - "Record_string.number_": { - "properties": {}, "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiCalculateTotalResponse": { + "ApiChartAsCodeUpsertResponse": { "properties": { "results": { - "$ref": "#/components/schemas/Record_string.number_" + "$ref": "#/components/schemas/PromotionChanges" }, "status": { "type": "string", @@ -12944,96 +16535,64 @@ ], "type": "object" }, - "Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_": { + "Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" + "name": { + "type": "string" }, - "user": { + "slug": { "type": "string" - } - }, - "required": [ - "type", - "user" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_CreateBigqueryCredentials.type_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" - } - }, - "required": [ - "type" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_CreateDatabricksCredentials.type_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" - } - }, - "required": [ - "type" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "UserWarehouseCredentials": { - "properties": { - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_" - }, - { - "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.type_" - }, - { - "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.type_" - } - ] }, "updatedAt": { "type": "string", "format": "date-time" }, - "createdAt": { - "type": "string", - "format": "date-time" + "tabs": { + "items": { + "$ref": "#/components/schemas/DashboardTab" + }, + "type": "array" }, - "name": { - "type": "string" + "version": { + "type": "number", + "format": "double" }, - "userUuid": { + "spaceSlug": { "type": "string" }, - "uuid": { - "type": "string" + "downloadedAt": { + "type": "string", + "format": "date-time" } }, "required": [ - "credentials", - "updatedAt", - "createdAt", "name", - "userUuid", - "uuid" + "slug", + "updatedAt", + "tabs", + "version", + "spaceSlug" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "UpdateMetadata": { + "ApiDashboardAsCodeUpsertResponse": { "properties": { - "upstreamProjectUuid": { + "results": { + "$ref": "#/components/schemas/PromotionChanges" + }, + "status": { "type": "string", - "nullable": true + "enum": [ + "ok" + ], + "nullable": false } }, + "required": [ + "results", + "status" + ], "type": "object" }, "Record_string.Item-or-AdditionalMetric_": { @@ -13095,26 +16654,6 @@ ], "type": "object" }, - "Pick_LightdashUser.userUuid-or-firstName-or-lastName_": { - "properties": { - "userUuid": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - } - }, - "required": [ - "userUuid", - "firstName", - "lastName" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, "Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_": { "properties": { "createdAt": { @@ -13434,12 +16973,14 @@ "uploadGsheets", "downloadCsv", "uploadGsheetFromQuery", + "createProjectWithCompile", "compileProject", "testAndCompileProject", "validateProject", "sqlRunner", "sqlRunnerPivotQuery", - "semanticLayer" + "semanticLayer", + "indexCatalog" ] } }, @@ -13569,6 +17110,9 @@ }, "SchedulerBase": { "properties": { + "includeLinks": { + "type": "boolean" + }, "notificationFrequency": { "$ref": "#/components/schemas/NotificationFrequency" }, @@ -13592,6 +17136,9 @@ "type": "string", "nullable": true }, + "timezone": { + "type": "string" + }, "cron": { "type": "string" }, @@ -13620,6 +17167,7 @@ } }, "required": [ + "includeLinks", "enabled", "options", "dashboardUuid", @@ -14495,8 +18043,21 @@ "role": { "$ref": "#/components/schemas/OrganizationMemberRole" }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, "isActive": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user can login" + }, + "isPending": { + "type": "boolean", + "description": "Whether the user doesn't have an authentication method (password or openId)" } }, "required": [ @@ -14506,6 +18067,8 @@ "isTrackingAnonymized", "isMarketingOptedIn", "isSetupComplete", + "createdAt", + "updatedAt", "isActive" ], "type": "object", @@ -14979,6 +18542,62 @@ ], "type": "object" }, + "PersonalAccessToken": { + "properties": { + "description": { + "type": "string" + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "rotatedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastUsedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "uuid": { + "type": "string" + } + }, + "required": [ + "description", + "expiresAt", + "rotatedAt", + "lastUsedAt", + "createdAt", + "uuid" + ], + "type": "object" + }, + "PersonalAccessTokenWithToken": { + "allOf": [ + { + "$ref": "#/components/schemas/PersonalAccessToken" + }, + { + "properties": { + "token": { + "type": "string" + } + }, + "required": [ + "token" + ], + "type": "object" + } + ] + }, "ValidationSourceType": { "enum": [ "chart", @@ -15222,4 +18841,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ActivateUser.json b/dev/schemas/split-swagger/components/schemas/ActivateUser.json index 70f9383..41d7fbd 100644 --- a/dev/schemas/split-swagger/components/schemas/ActivateUser.json +++ b/dev/schemas/split-swagger/components/schemas/ActivateUser.json @@ -16,4 +16,4 @@ "firstName" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ActivateUserWithInviteCode.json b/dev/schemas/split-swagger/components/schemas/ActivateUserWithInviteCode.json index c4d893a..3330389 100644 --- a/dev/schemas/split-swagger/components/schemas/ActivateUserWithInviteCode.json +++ b/dev/schemas/split-swagger/components/schemas/ActivateUserWithInviteCode.json @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AddSpaceGroupAccess.json b/dev/schemas/split-swagger/components/schemas/AddSpaceGroupAccess.json index ee5addc..091c448 100644 --- a/dev/schemas/split-swagger/components/schemas/AddSpaceGroupAccess.json +++ b/dev/schemas/split-swagger/components/schemas/AddSpaceGroupAccess.json @@ -12,4 +12,4 @@ "groupUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AddSpaceUserAccess.json b/dev/schemas/split-swagger/components/schemas/AddSpaceUserAccess.json index 65015d7..6b2c04d 100644 --- a/dev/schemas/split-swagger/components/schemas/AddSpaceUserAccess.json +++ b/dev/schemas/split-swagger/components/schemas/AddSpaceUserAccess.json @@ -12,4 +12,4 @@ "userUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AdditionalMetric.json b/dev/schemas/split-swagger/components/schemas/AdditionalMetric.json index a331153..de1e50c 100644 --- a/dev/schemas/split-swagger/components/schemas/AdditionalMetric.json +++ b/dev/schemas/split-swagger/components/schemas/AdditionalMetric.json @@ -64,4 +64,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AllVizChartConfig.json b/dev/schemas/split-swagger/components/schemas/AllVizChartConfig.json index db342b8..f7bfac1 100644 --- a/dev/schemas/split-swagger/components/schemas/AllVizChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/AllVizChartConfig.json @@ -13,4 +13,4 @@ "$ref": "./VizTableConfig.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainProjectsRole.json b/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainProjectsRole.json index bf35b77..cc60847 100644 --- a/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainProjectsRole.json +++ b/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainProjectsRole.json @@ -10,4 +10,4 @@ "$ref": "./ProjectMemberRole.VIEWER.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AllowedEmailDomains.json b/dev/schemas/split-swagger/components/schemas/AllowedEmailDomains.json index 582bbaa..9eed15e 100644 --- a/dev/schemas/split-swagger/components/schemas/AllowedEmailDomains.json +++ b/dev/schemas/split-swagger/components/schemas/AllowedEmailDomains.json @@ -38,4 +38,4 @@ "organizationUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainsRole.json b/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainsRole.json index 70f0703..717d8b1 100644 --- a/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainsRole.json +++ b/dev/schemas/split-swagger/components/schemas/AllowedEmailDomainsRole.json @@ -13,4 +13,4 @@ "$ref": "./OrganizationMemberRole.MEMBER.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/AndFilterGroup.json b/dev/schemas/split-swagger/components/schemas/AndFilterGroup.json index 7efc113..2a5e60b 100644 --- a/dev/schemas/split-swagger/components/schemas/AndFilterGroup.json +++ b/dev/schemas/split-swagger/components/schemas/AndFilterGroup.json @@ -15,4 +15,4 @@ "id" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCalculateTotalResponse.json b/dev/schemas/split-swagger/components/schemas/ApiCalculateTotalResponse.json index ed135ad..9a7897b 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCalculateTotalResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCalculateTotalResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCatalogAnalyticsResults.json b/dev/schemas/split-swagger/components/schemas/ApiCatalogAnalyticsResults.json index 2ef0483..accfa23 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCatalogAnalyticsResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCatalogAnalyticsResults.json @@ -1,3 +1,3 @@ { "$ref": "./CatalogAnalytics.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCatalogMetadataResults.json b/dev/schemas/split-swagger/components/schemas/ApiCatalogMetadataResults.json index 0ead8ec..ef7259e 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCatalogMetadataResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCatalogMetadataResults.json @@ -1,3 +1,3 @@ { "$ref": "./CatalogMetadata.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCatalogResults.json b/dev/schemas/split-swagger/components/schemas/ApiCatalogResults.json index 845c68c..ba56d74 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCatalogResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCatalogResults.json @@ -3,4 +3,4 @@ "$ref": "./CatalogItem.json" }, "type": "array" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiChartAsCodeListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiChartAsCodeListResponse.json new file mode 100644 index 0000000..70c4fe6 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiChartAsCodeListResponse.json @@ -0,0 +1,22 @@ +{ + "properties": { + "results": { + "items": { + "$ref": "./ChartAsCode.json" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiChartAsCodeUpsertResponse.json b/dev/schemas/split-swagger/components/schemas/ApiChartAsCodeUpsertResponse.json new file mode 100644 index 0000000..2992cd6 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiChartAsCodeUpsertResponse.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./PromotionChanges.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiChartListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiChartListResponse.json index 7bff9be..cc46864 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiChartListResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiChartListResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiChartSummaryListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiChartSummaryListResponse.json index 22b9ab5..1c3434f 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiChartSummaryListResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiChartSummaryListResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCompiledQueryResults.json b/dev/schemas/split-swagger/components/schemas/ApiCompiledQueryResults.json index 28ac6e8..169a0d7 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCompiledQueryResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCompiledQueryResults.json @@ -1,3 +1,3 @@ { "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiContentResponse.json b/dev/schemas/split-swagger/components/schemas/ApiContentResponse.json index 56bb2b7..a4d4849 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiContentResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiContentResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateComment.json b/dev/schemas/split-swagger/components/schemas/ApiCreateComment.json index a70d069..fc673f3 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCreateComment.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateComment.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateDashboardResponse.json b/dev/schemas/split-swagger/components/schemas/ApiCreateDashboardResponse.json new file mode 100644 index 0000000..dd44bdf --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateDashboardResponse.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./Dashboard.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateGroupResponse.json b/dev/schemas/split-swagger/components/schemas/ApiCreateGroupResponse.json new file mode 100644 index 0000000..758c572 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateGroupResponse.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./GroupWithMembers.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateProjectGroupAccess.json b/dev/schemas/split-swagger/components/schemas/ApiCreateProjectGroupAccess.json index 0f1946f..a3aa61d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCreateProjectGroupAccess.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateProjectGroupAccess.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateSqlChart.json b/dev/schemas/split-swagger/components/schemas/ApiCreateSqlChart.json index 8146437..0b49408 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCreateSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateSqlChart.json @@ -28,4 +28,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateTagResponse.json b/dev/schemas/split-swagger/components/schemas/ApiCreateTagResponse.json new file mode 100644 index 0000000..a19c6a2 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateTagResponse.json @@ -0,0 +1,27 @@ +{ + "properties": { + "results": { + "properties": { + "tagUuid": { + "type": "string" + } + }, + "required": [ + "tagUuid" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateUserAttributeResponse.json b/dev/schemas/split-swagger/components/schemas/ApiCreateUserAttributeResponse.json index 0ff8bd5..07a6dd6 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCreateUserAttributeResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateUserAttributeResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCreateCustomExplore.json b/dev/schemas/split-swagger/components/schemas/ApiCreateVirtualView.json similarity index 99% rename from dev/schemas/split-swagger/components/schemas/ApiCreateCustomExplore.json rename to dev/schemas/split-swagger/components/schemas/ApiCreateVirtualView.json index 4395f5a..2e5422d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCreateCustomExplore.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCreateVirtualView.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiCsvUrlResponse.json b/dev/schemas/split-swagger/components/schemas/ApiCsvUrlResponse.json index 0e5806e..a79b574 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiCsvUrlResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiCsvUrlResponse.json @@ -32,4 +32,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiDashboardAsCodeListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiDashboardAsCodeListResponse.json new file mode 100644 index 0000000..216383f --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiDashboardAsCodeListResponse.json @@ -0,0 +1,22 @@ +{ + "properties": { + "results": { + "items": { + "$ref": "./DashboardAsCode.json" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiDashboardAsCodeUpsertResponse.json b/dev/schemas/split-swagger/components/schemas/ApiDashboardAsCodeUpsertResponse.json new file mode 100644 index 0000000..2992cd6 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiDashboardAsCodeUpsertResponse.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./PromotionChanges.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiEmailStatusResponse.json b/dev/schemas/split-swagger/components/schemas/ApiEmailStatusResponse.json index e84415e..1534e49 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiEmailStatusResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiEmailStatusResponse.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "Shows the current verification status of an email address" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiErrorPayload.json b/dev/schemas/split-swagger/components/schemas/ApiErrorPayload.json index 8d07c92..450aaf7 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiErrorPayload.json +++ b/dev/schemas/split-swagger/components/schemas/ApiErrorPayload.json @@ -39,4 +39,4 @@ ], "type": "object", "description": "The Error object is returned from the api any time there is an error.\nThe message contains" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiExploreResults.json b/dev/schemas/split-swagger/components/schemas/ApiExploreResults.json index 58ebc2d..6a6cf39 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiExploreResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiExploreResults.json @@ -1,3 +1,3 @@ { "$ref": "./Explore.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiExploresResults.json b/dev/schemas/split-swagger/components/schemas/ApiExploresResults.json index 82e6654..0834f87 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiExploresResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiExploresResults.json @@ -3,4 +3,4 @@ "$ref": "./SummaryExplore.json" }, "type": "array" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGdriveAccessTokenResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGdriveAccessTokenResponse.json index a70d069..fc673f3 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGdriveAccessTokenResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGdriveAccessTokenResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetAuthenticatedUserResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetAuthenticatedUserResponse.json index 1824ab5..6c2872d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetAuthenticatedUserResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetAuthenticatedUserResponse.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "Shows the authenticated user" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetChartHistoryResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetChartHistoryResponse.json index 5bddf17..03dc7f0 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetChartHistoryResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetChartHistoryResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetChartVersionResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetChartVersionResponse.json index 8e29a55..73d937c 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetChartVersionResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetChartVersionResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetComments.json b/dev/schemas/split-swagger/components/schemas/ApiGetComments.json index cf69c30..ac5aa46 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetComments.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetComments.json @@ -23,4 +23,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetDashboardsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetDashboardsResponse.json new file mode 100644 index 0000000..a81159b --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiGetDashboardsResponse.json @@ -0,0 +1,22 @@ +{ + "properties": { + "results": { + "items": { + "$ref": "./DashboardBasicDetailsWithTileTypes.json" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetLoginOptionsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetLoginOptionsResponse.json index 86f3a5e..81fb17c 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetLoginOptionsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetLoginOptionsResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetMetricPeek.json b/dev/schemas/split-swagger/components/schemas/ApiGetMetricPeek.json new file mode 100644 index 0000000..bed3630 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiGetMetricPeek.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./MetricWithAssociatedTimeDimension.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetMetricsTree.json b/dev/schemas/split-swagger/components/schemas/ApiGetMetricsTree.json new file mode 100644 index 0000000..5ce80ad --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiGetMetricsTree.json @@ -0,0 +1,30 @@ +{ + "properties": { + "results": { + "properties": { + "edges": { + "items": { + "$ref": "./CatalogMetricsTreeEdge.json" + }, + "type": "array" + } + }, + "required": [ + "edges" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetNotifications.json b/dev/schemas/split-swagger/components/schemas/ApiGetNotifications.json index 1e14b36..0cacc2b 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetNotifications.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetNotifications.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetProjectGroupAccesses.json b/dev/schemas/split-swagger/components/schemas/ApiGetProjectGroupAccesses.json index 673a0dd..8e44edd 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetProjectGroupAccesses.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetProjectGroupAccesses.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetProjectMemberResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetProjectMemberResponse.json index bdcf364..fa94db9 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGetProjectMemberResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGetProjectMemberResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGetTagsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGetTagsResponse.json new file mode 100644 index 0000000..d5a2edc --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiGetTagsResponse.json @@ -0,0 +1,22 @@ +{ + "properties": { + "results": { + "items": { + "$ref": "./Tag.json" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGithubDbtWriteBack.json b/dev/schemas/split-swagger/components/schemas/ApiGithubDbtWriteBack.json new file mode 100644 index 0000000..f25616e --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiGithubDbtWriteBack.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./PullRequestCreated.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGithubDbtWritePreview.json b/dev/schemas/split-swagger/components/schemas/ApiGithubDbtWritePreview.json new file mode 100644 index 0000000..8a3f041 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiGithubDbtWritePreview.json @@ -0,0 +1,46 @@ +{ + "properties": { + "results": { + "properties": { + "owner": { + "type": "string" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array" + }, + "path": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "owner", + "files", + "path", + "repo", + "url" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGroupListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGroupListResponse.json index 0df4ca6..ce02b85 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGroupListResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGroupListResponse.json @@ -1,20 +1,7 @@ { "properties": { "results": { - "anyOf": [ - { - "items": { - "$ref": "./Group.json" - }, - "type": "array" - }, - { - "items": { - "$ref": "./GroupWithMembers.json" - }, - "type": "array" - } - ] + "$ref": "./KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_.json" }, "status": { "type": "string", @@ -29,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGroupMembersResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGroupMembersResponse.json index 2143802..11f5358 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGroupMembersResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGroupMembersResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiGroupResponse.json b/dev/schemas/split-swagger/components/schemas/ApiGroupResponse.json index 8dc390f..b2c5474 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiGroupResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiGroupResponse.json @@ -23,4 +23,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiJobScheduledResponse.json b/dev/schemas/split-swagger/components/schemas/ApiJobScheduledResponse.json index fd2f46e..f558890 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiJobScheduledResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiJobScheduledResponse.json @@ -24,4 +24,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiJobStatusResponse.json b/dev/schemas/split-swagger/components/schemas/ApiJobStatusResponse.json index 3eb384a..af62437 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiJobStatusResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiJobStatusResponse.json @@ -33,4 +33,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiMetricsCatalog.json b/dev/schemas/split-swagger/components/schemas/ApiMetricsCatalog.json new file mode 100644 index 0000000..377acff --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiMetricsCatalog.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./KnexPaginatedData_ApiMetricsCatalogResults_.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiMetricsCatalogResults.json b/dev/schemas/split-swagger/components/schemas/ApiMetricsCatalogResults.json new file mode 100644 index 0000000..5239ef8 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiMetricsCatalogResults.json @@ -0,0 +1,6 @@ +{ + "items": { + "$ref": "./CatalogField.json" + }, + "type": "array" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiMetricsExplorerQueryResults.json b/dev/schemas/split-swagger/components/schemas/ApiMetricsExplorerQueryResults.json new file mode 100644 index 0000000..861b535 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiMetricsExplorerQueryResults.json @@ -0,0 +1,19 @@ +{ + "properties": { + "results": { + "$ref": "./MetricsExplorerQueryResults.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiMetricsTreeEdgePayload.json b/dev/schemas/split-swagger/components/schemas/ApiMetricsTreeEdgePayload.json new file mode 100644 index 0000000..123e1d9 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiMetricsTreeEdgePayload.json @@ -0,0 +1,15 @@ +{ + "properties": { + "targetCatalogSearchUuid": { + "type": "string" + }, + "sourceCatalogSearchUuid": { + "type": "string" + } + }, + "required": [ + "targetCatalogSearchUuid", + "sourceCatalogSearchUuid" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiMetricsWithAssociatedTimeDimensionResponse.json b/dev/schemas/split-swagger/components/schemas/ApiMetricsWithAssociatedTimeDimensionResponse.json new file mode 100644 index 0000000..58e0fa9 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiMetricsWithAssociatedTimeDimensionResponse.json @@ -0,0 +1,22 @@ +{ + "properties": { + "results": { + "items": { + "$ref": "./MetricWithAssociatedTimeDimension.json" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.DashboardComments.json b/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.DashboardComments.json index b00a0d2..2055290 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.DashboardComments.json +++ b/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.DashboardComments.json @@ -3,4 +3,4 @@ "dashboardComments" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.json b/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.json index b00a0d2..2055290 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.json +++ b/dev/schemas/split-swagger/components/schemas/ApiNotificationResourceType.json @@ -3,4 +3,4 @@ "dashboardComments" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiNotificationUpdateParams.json b/dev/schemas/split-swagger/components/schemas/ApiNotificationUpdateParams.json index 0b6d870..aa206f4 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiNotificationUpdateParams.json +++ b/dev/schemas/split-swagger/components/schemas/ApiNotificationUpdateParams.json @@ -1,3 +1,3 @@ { "$ref": "./Pick_Notification.viewed_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiNotificationsResults.json b/dev/schemas/split-swagger/components/schemas/ApiNotificationsResults.json index a4d5fa7..4309f14 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiNotificationsResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiNotificationsResults.json @@ -3,4 +3,4 @@ "$ref": "./Notification.json" }, "type": "array" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiOrganization.json b/dev/schemas/split-swagger/components/schemas/ApiOrganization.json index 1db2341..6a473d8 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiOrganization.json +++ b/dev/schemas/split-swagger/components/schemas/ApiOrganization.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiOrganizationAllowedEmailDomains.json b/dev/schemas/split-swagger/components/schemas/ApiOrganizationAllowedEmailDomains.json index ca9b70d..bd2302a 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiOrganizationAllowedEmailDomains.json +++ b/dev/schemas/split-swagger/components/schemas/ApiOrganizationAllowedEmailDomains.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfile.json b/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfile.json index 0c7826f..7c94137 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfile.json +++ b/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfile.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfiles.json b/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfiles.json index 1499dc7..c844429 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfiles.json +++ b/dev/schemas/split-swagger/components/schemas/ApiOrganizationMemberProfiles.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiOrganizationProjects.json b/dev/schemas/split-swagger/components/schemas/ApiOrganizationProjects.json index 56123cd..dc60297 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiOrganizationProjects.json +++ b/dev/schemas/split-swagger/components/schemas/ApiOrganizationProjects.json @@ -20,4 +20,4 @@ ], "type": "object", "description": "List of projects in the current organization" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiPinnedItems.json b/dev/schemas/split-swagger/components/schemas/ApiPinnedItems.json index 46512db..c3f4a4d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiPinnedItems.json +++ b/dev/schemas/split-swagger/components/schemas/ApiPinnedItems.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiProjectAccessListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiProjectAccessListResponse.json index 4835a1f..02c6bd2 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiProjectAccessListResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiProjectAccessListResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiProjectResponse.json b/dev/schemas/split-swagger/components/schemas/ApiProjectResponse.json index 31a3ce5..9e12861 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiProjectResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiProjectResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiPromoteChartResponse.json b/dev/schemas/split-swagger/components/schemas/ApiPromoteChartResponse.json index adcf5e7..4d733aa 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiPromoteChartResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiPromoteChartResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiPromoteDashboardResponse.json b/dev/schemas/split-swagger/components/schemas/ApiPromoteDashboardResponse.json index 93d4ab5..3ea7f64 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiPromoteDashboardResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiPromoteDashboardResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiPromotionChangesResponse.json b/dev/schemas/split-swagger/components/schemas/ApiPromotionChangesResponse.json index 6942e7e..2992cd6 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiPromotionChangesResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiPromotionChangesResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiRegisterUserResponse.json b/dev/schemas/split-swagger/components/schemas/ApiRegisterUserResponse.json index dc0d699..de3c383 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiRegisterUserResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiRegisterUserResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiResolveComment.json b/dev/schemas/split-swagger/components/schemas/ApiResolveComment.json index ccb84ed..8d4f4d5 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiResolveComment.json +++ b/dev/schemas/split-swagger/components/schemas/ApiResolveComment.json @@ -12,4 +12,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiRunQueryResponse.json b/dev/schemas/split-swagger/components/schemas/ApiRunQueryResponse.json index 2ec5053..9b26717 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiRunQueryResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiRunQueryResponse.json @@ -36,4 +36,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiScheduledJobsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiScheduledJobsResponse.json index ade1f55..d0ab446 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiScheduledJobsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiScheduledJobsResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSchedulerAndTargetsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSchedulerAndTargetsResponse.json index c20ab73..ef715b5 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSchedulerAndTargetsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSchedulerAndTargetsResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSchedulerLogsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSchedulerLogsResponse.json index 0a92bb2..aeed2c8 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSchedulerLogsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSchedulerLogsResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSemanticLayerClientInfo.json b/dev/schemas/split-swagger/components/schemas/ApiSemanticLayerClientInfo.json index 7e71e82..7704237 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSemanticLayerClientInfo.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSemanticLayerClientInfo.json @@ -22,4 +22,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartCreate.json b/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartCreate.json index f7334b4..76f043f 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartCreate.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartCreate.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartGet.json b/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartGet.json index b534290..c127a9c 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartGet.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartGet.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartUpdate.json b/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartUpdate.json index a7031f5..816fd1c 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartUpdate.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSemanticViewerChartUpdate.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiShareResponse.json b/dev/schemas/split-swagger/components/schemas/ApiShareResponse.json index c08b4f6..bea919e 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiShareResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiShareResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSlackChannelsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSlackChannelsResponse.json index 3b13464..b75227e 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSlackChannelsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSlackChannelsResponse.json @@ -18,4 +18,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSlackCustomSettingsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSlackCustomSettingsResponse.json index de64abc..067d223 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSlackCustomSettingsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSlackCustomSettingsResponse.json @@ -14,4 +14,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSortDirection.json b/dev/schemas/split-swagger/components/schemas/ApiSortDirection.json new file mode 100644 index 0000000..05d00d4 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiSortDirection.json @@ -0,0 +1,7 @@ +{ + "type": "string", + "enum": [ + "asc", + "desc" + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSpaceResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSpaceResponse.json index 0b0c382..5a258db 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSpaceResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSpaceResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSpaceSummaryListResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSpaceSummaryListResponse.json index 201813f..806900e 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSpaceSummaryListResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSpaceSummaryListResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSqlChart.json b/dev/schemas/split-swagger/components/schemas/ApiSqlChart.json index 842bf34..67dd6f7 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSqlChart.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSqlQueryResults.json b/dev/schemas/split-swagger/components/schemas/ApiSqlQueryResults.json index 54512e8..a2e192b 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSqlQueryResults.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSqlQueryResults.json @@ -15,4 +15,4 @@ "fields" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSqlRunnerPivotQueryPayload.json b/dev/schemas/split-swagger/components/schemas/ApiSqlRunnerPivotQueryPayload.json index e3c9432..3602e8d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSqlRunnerPivotQueryPayload.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSqlRunnerPivotQueryPayload.json @@ -40,6 +40,9 @@ }, "indexColumn": { "$ref": "./PivotIndexColum.json" + }, + "savedSqlUuid": { + "type": "string" } }, "required": [ @@ -47,4 +50,4 @@ "indexColumn" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSshKeyPairResponse.json b/dev/schemas/split-swagger/components/schemas/ApiSshKeyPairResponse.json index a1cd472..d17001d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSshKeyPairResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSshKeyPairResponse.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiSuccessEmpty.json b/dev/schemas/split-swagger/components/schemas/ApiSuccessEmpty.json index 067bda0..5109e90 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiSuccessEmpty.json +++ b/dev/schemas/split-swagger/components/schemas/ApiSuccessEmpty.json @@ -13,4 +13,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiTestSchedulerResponse.json b/dev/schemas/split-swagger/components/schemas/ApiTestSchedulerResponse.json index fd2f46e..f558890 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiTestSchedulerResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiTestSchedulerResponse.json @@ -24,4 +24,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiUpdateDashboardsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiUpdateDashboardsResponse.json new file mode 100644 index 0000000..5e00780 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ApiUpdateDashboardsResponse.json @@ -0,0 +1,22 @@ +{ + "properties": { + "results": { + "items": { + "$ref": "./Dashboard.json" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiUpdateProjectGroupAccess.json b/dev/schemas/split-swagger/components/schemas/ApiUpdateProjectGroupAccess.json index 0f1946f..a3aa61d 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiUpdateProjectGroupAccess.json +++ b/dev/schemas/split-swagger/components/schemas/ApiUpdateProjectGroupAccess.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiUpdateSqlChart.json b/dev/schemas/split-swagger/components/schemas/ApiUpdateSqlChart.json index 88dde0b..2edc1d9 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiUpdateSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/ApiUpdateSqlChart.json @@ -29,4 +29,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiUserAllowedOrganizationsResponse.json b/dev/schemas/split-swagger/components/schemas/ApiUserAllowedOrganizationsResponse.json index 028577f..07fc8d3 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiUserAllowedOrganizationsResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiUserAllowedOrganizationsResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiUserAttributesResponse.json b/dev/schemas/split-swagger/components/schemas/ApiUserAttributesResponse.json index 8d11379..ab82783 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiUserAttributesResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiUserAttributesResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiValidateResponse.json b/dev/schemas/split-swagger/components/schemas/ApiValidateResponse.json index 150d7ca..b3fe28a 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiValidateResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiValidateResponse.json @@ -19,4 +19,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiValidationDismissResponse.json b/dev/schemas/split-swagger/components/schemas/ApiValidationDismissResponse.json index ccb84ed..8d4f4d5 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiValidationDismissResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ApiValidationDismissResponse.json @@ -12,4 +12,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiWarehouseTableFields.json b/dev/schemas/split-swagger/components/schemas/ApiWarehouseTableFields.json index d93a360..1d30201 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiWarehouseTableFields.json +++ b/dev/schemas/split-swagger/components/schemas/ApiWarehouseTableFields.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ApiWarehouseTablesCatalog.json b/dev/schemas/split-swagger/components/schemas/ApiWarehouseTablesCatalog.json index 7359aa4..1739483 100644 --- a/dev/schemas/split-swagger/components/schemas/ApiWarehouseTablesCatalog.json +++ b/dev/schemas/split-swagger/components/schemas/ApiWarehouseTablesCatalog.json @@ -16,4 +16,4 @@ "status" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Axis.json b/dev/schemas/split-swagger/components/schemas/Axis.json index 1cfc83b..9ee66f5 100644 --- a/dev/schemas/split-swagger/components/schemas/Axis.json +++ b/dev/schemas/split-swagger/components/schemas/Axis.json @@ -24,4 +24,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/BigNumber.json b/dev/schemas/split-swagger/components/schemas/BigNumber.json index 737c8dd..db85508 100644 --- a/dev/schemas/split-swagger/components/schemas/BigNumber.json +++ b/dev/schemas/split-swagger/components/schemas/BigNumber.json @@ -26,4 +26,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/BigNumberConfig.json b/dev/schemas/split-swagger/components/schemas/BigNumberConfig.json index 175df14..0334f13 100644 --- a/dev/schemas/split-swagger/components/schemas/BigNumberConfig.json +++ b/dev/schemas/split-swagger/components/schemas/BigNumberConfig.json @@ -11,4 +11,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/BigqueryCredentials.json b/dev/schemas/split-swagger/components/schemas/BigqueryCredentials.json index f8bc373..ac430d1 100644 --- a/dev/schemas/split-swagger/components/schemas/BigqueryCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/BigqueryCredentials.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/BinRange.json b/dev/schemas/split-swagger/components/schemas/BinRange.json index 781f78e..fd0f8f1 100644 --- a/dev/schemas/split-swagger/components/schemas/BinRange.json +++ b/dev/schemas/split-swagger/components/schemas/BinRange.json @@ -10,4 +10,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/BinType.json b/dev/schemas/split-swagger/components/schemas/BinType.json index 3f72d5f..033453c 100644 --- a/dev/schemas/split-swagger/components/schemas/BinType.json +++ b/dev/schemas/split-swagger/components/schemas/BinType.json @@ -5,4 +5,4 @@ "custom_range" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CacheMetadata.json b/dev/schemas/split-swagger/components/schemas/CacheMetadata.json index d3e965b..35c6074 100644 --- a/dev/schemas/split-swagger/components/schemas/CacheMetadata.json +++ b/dev/schemas/split-swagger/components/schemas/CacheMetadata.json @@ -12,4 +12,4 @@ "cacheHit" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CalculateTotalFromQuery.json b/dev/schemas/split-swagger/components/schemas/CalculateTotalFromQuery.json index f4051dc..40170fc 100644 --- a/dev/schemas/split-swagger/components/schemas/CalculateTotalFromQuery.json +++ b/dev/schemas/split-swagger/components/schemas/CalculateTotalFromQuery.json @@ -12,4 +12,4 @@ "metricQuery" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CartesianChart.json b/dev/schemas/split-swagger/components/schemas/CartesianChart.json index 8a9c92a..8281f89 100644 --- a/dev/schemas/split-swagger/components/schemas/CartesianChart.json +++ b/dev/schemas/split-swagger/components/schemas/CartesianChart.json @@ -15,4 +15,4 @@ "layout" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CartesianChartConfig.json b/dev/schemas/split-swagger/components/schemas/CartesianChartConfig.json index 427a792..fee2a3f 100644 --- a/dev/schemas/split-swagger/components/schemas/CartesianChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/CartesianChartConfig.json @@ -11,4 +11,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CartesianChartDisplay.json b/dev/schemas/split-swagger/components/schemas/CartesianChartDisplay.json index 814ffcb..636b04c 100644 --- a/dev/schemas/split-swagger/components/schemas/CartesianChartDisplay.json +++ b/dev/schemas/split-swagger/components/schemas/CartesianChartDisplay.json @@ -33,13 +33,20 @@ "properties": {}, "additionalProperties": { "properties": { + "whichYAxis": { + "type": "number", + "format": "double" + }, + "valueLabelPosition": { + "$ref": "./ValueLabelPositionOptions.json" + }, "type": { "anyOf": [ { - "$ref": "./ChartKind.LINE.json" + "$ref": "./CartesianSeriesType.LINE.json" }, { - "$ref": "./ChartKind.VERTICAL_BAR.json" + "$ref": "./CartesianSeriesType.BAR.json" } ] }, @@ -91,4 +98,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CartesianChartLayout.json b/dev/schemas/split-swagger/components/schemas/CartesianChartLayout.json index fa009c4..17ada43 100644 --- a/dev/schemas/split-swagger/components/schemas/CartesianChartLayout.json +++ b/dev/schemas/split-swagger/components/schemas/CartesianChartLayout.json @@ -1,3 +1,3 @@ { "$ref": "./Partial_CompleteCartesianChartLayout_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerSortByDirection.json b/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.BAR.json similarity index 61% rename from dev/schemas/split-swagger/components/schemas/SemanticLayerSortByDirection.json rename to dev/schemas/split-swagger/components/schemas/CartesianSeriesType.BAR.json index 479d0cf..b266c71 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerSortByDirection.json +++ b/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.BAR.json @@ -1,7 +1,6 @@ { "enum": [ - "ASC", - "DESC" + "bar" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.LINE.json b/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.LINE.json new file mode 100644 index 0000000..5d7044f --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.LINE.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "line" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.json b/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.json index 520351a..e6a2cf9 100644 --- a/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.json +++ b/dev/schemas/split-swagger/components/schemas/CartesianSeriesType.json @@ -6,4 +6,4 @@ "area" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogAnalytics.json b/dev/schemas/split-swagger/components/schemas/CatalogAnalytics.json index 6c89835..bc6b0d8 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogAnalytics.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogAnalytics.json @@ -11,4 +11,4 @@ "charts" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogField.json b/dev/schemas/split-swagger/components/schemas/CatalogField.json index 99123be..60a50ec 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogField.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogField.json @@ -8,6 +8,24 @@ }, { "properties": { + "icon": { + "allOf": [ + { + "$ref": "./CatalogItemIcon.json" + } + ], + "nullable": true + }, + "chartUsage": { + "type": "number", + "format": "double" + }, + "categories": { + "items": { + "$ref": "./Pick_Tag.name-or-color-or-tagUuid_.json" + }, + "type": "array" + }, "tags": { "items": { "type": "string" @@ -25,13 +43,19 @@ }, "type": { "$ref": "./CatalogType.Field.json" + }, + "catalogSearchUuid": { + "type": "string" } }, "required": [ + "icon", + "categories", "tableName", - "type" + "type", + "catalogSearchUuid" ], "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogFilter.json b/dev/schemas/split-swagger/components/schemas/CatalogFilter.json index 9acda8b..9be2584 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogFilter.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogFilter.json @@ -5,4 +5,4 @@ "metrics" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogItem.json b/dev/schemas/split-swagger/components/schemas/CatalogItem.json index afce1b2..36667a2 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogItem.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogItem.json @@ -7,4 +7,4 @@ "$ref": "./CatalogTable.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogItemIcon.json b/dev/schemas/split-swagger/components/schemas/CatalogItemIcon.json new file mode 100644 index 0000000..c6b2656 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CatalogItemIcon.json @@ -0,0 +1,10 @@ +{ + "anyOf": [ + { + "$ref": "./EmojiIcon.json" + }, + { + "$ref": "./CustomIcon.json" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogMetadata.json b/dev/schemas/split-swagger/components/schemas/CatalogMetadata.json index 8a28dba..dc0fb8f 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogMetadata.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogMetadata.json @@ -42,4 +42,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogMetricsTreeEdge.json b/dev/schemas/split-swagger/components/schemas/CatalogMetricsTreeEdge.json new file mode 100644 index 0000000..2b59831 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CatalogMetricsTreeEdge.json @@ -0,0 +1,29 @@ +{ + "properties": { + "projectUuid": { + "type": "string" + }, + "createdByUserUuid": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "target": { + "$ref": "./CatalogMetricsTreeNode.json" + }, + "source": { + "$ref": "./CatalogMetricsTreeNode.json" + } + }, + "required": [ + "projectUuid", + "createdByUserUuid", + "createdAt", + "target", + "source" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogMetricsTreeNode.json b/dev/schemas/split-swagger/components/schemas/CatalogMetricsTreeNode.json new file mode 100644 index 0000000..5ff15f0 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CatalogMetricsTreeNode.json @@ -0,0 +1,3 @@ +{ + "$ref": "./Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_.json" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogTable.json b/dev/schemas/split-swagger/components/schemas/CatalogTable.json index 733511a..895f767 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogTable.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogTable.json @@ -5,12 +5,30 @@ }, { "properties": { + "icon": { + "allOf": [ + { + "$ref": "./CatalogItemIcon.json" + } + ], + "nullable": true + }, + "chartUsage": { + "type": "number", + "format": "double" + }, "joinedTables": { "items": { "$ref": "./CompiledExploreJoin.json" }, "type": "array" }, + "categories": { + "items": { + "$ref": "./Pick_Tag.name-or-color-or-tagUuid_.json" + }, + "type": "array" + }, "tags": { "items": { "type": "string" @@ -28,12 +46,18 @@ "$ref": "./InlineError.json" }, "type": "array" + }, + "catalogSearchUuid": { + "type": "string" } }, "required": [ - "type" + "icon", + "categories", + "type", + "catalogSearchUuid" ], "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogType.Field.json b/dev/schemas/split-swagger/components/schemas/CatalogType.Field.json index 5ea8198..1a45abd 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogType.Field.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogType.Field.json @@ -3,4 +3,4 @@ "field" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogType.Table.json b/dev/schemas/split-swagger/components/schemas/CatalogType.Table.json index 34ff5e1..2ff562f 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogType.Table.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogType.Table.json @@ -3,4 +3,4 @@ "table" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CatalogType.json b/dev/schemas/split-swagger/components/schemas/CatalogType.json index c9659d8..8a64d62 100644 --- a/dev/schemas/split-swagger/components/schemas/CatalogType.json +++ b/dev/schemas/split-swagger/components/schemas/CatalogType.json @@ -4,4 +4,4 @@ "field" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartAsCode.json b/dev/schemas/split-swagger/components/schemas/ChartAsCode.json new file mode 100644 index 0000000..a932760 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ChartAsCode.json @@ -0,0 +1,27 @@ +{ + "allOf": [ + { + "$ref": "./Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_.json" + }, + { + "properties": { + "downloadedAt": { + "type": "string", + "format": "date-time" + }, + "spaceSlug": { + "type": "string" + }, + "version": { + "type": "number", + "format": "double" + } + }, + "required": [ + "spaceSlug", + "version" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartConfig.json b/dev/schemas/split-swagger/components/schemas/ChartConfig.json index ae4214a..2a7e35f 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/ChartConfig.json @@ -19,4 +19,4 @@ "$ref": "./TableChartConfig.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartContent.json b/dev/schemas/split-swagger/components/schemas/ChartContent.json index 27e3456..12fd6b2 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartContent.json +++ b/dev/schemas/split-swagger/components/schemas/ChartContent.json @@ -176,4 +176,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartHistory.json b/dev/schemas/split-swagger/components/schemas/ChartHistory.json index 4ada982..0cc8cbf 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartHistory.json +++ b/dev/schemas/split-swagger/components/schemas/ChartHistory.json @@ -11,4 +11,4 @@ "history" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartKind.LINE.json b/dev/schemas/split-swagger/components/schemas/ChartKind.LINE.json index e19fc2f..5d7044f 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartKind.LINE.json +++ b/dev/schemas/split-swagger/components/schemas/ChartKind.LINE.json @@ -3,4 +3,4 @@ "line" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartKind.PIE.json b/dev/schemas/split-swagger/components/schemas/ChartKind.PIE.json index 394d129..38b6746 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartKind.PIE.json +++ b/dev/schemas/split-swagger/components/schemas/ChartKind.PIE.json @@ -3,4 +3,4 @@ "pie" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartKind.TABLE.json b/dev/schemas/split-swagger/components/schemas/ChartKind.TABLE.json index 34ff5e1..2ff562f 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartKind.TABLE.json +++ b/dev/schemas/split-swagger/components/schemas/ChartKind.TABLE.json @@ -3,4 +3,4 @@ "table" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartKind.VERTICAL_BAR.json b/dev/schemas/split-swagger/components/schemas/ChartKind.VERTICAL_BAR.json index 4d39a74..70c35ba 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartKind.VERTICAL_BAR.json +++ b/dev/schemas/split-swagger/components/schemas/ChartKind.VERTICAL_BAR.json @@ -3,4 +3,4 @@ "vertical_bar" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartKind.json b/dev/schemas/split-swagger/components/schemas/ChartKind.json index f916f48..ac6bcac 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartKind.json +++ b/dev/schemas/split-swagger/components/schemas/ChartKind.json @@ -13,4 +13,4 @@ "custom" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartScheduler.json b/dev/schemas/split-swagger/components/schemas/ChartScheduler.json index 3c557c5..73ffd8a 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartScheduler.json +++ b/dev/schemas/split-swagger/components/schemas/ChartScheduler.json @@ -23,4 +23,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartSourceType.json b/dev/schemas/split-swagger/components/schemas/ChartSourceType.json index 41d34ba..e97e21f 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartSourceType.json +++ b/dev/schemas/split-swagger/components/schemas/ChartSourceType.json @@ -5,4 +5,4 @@ "semantic_layer" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartSummary.json b/dev/schemas/split-swagger/components/schemas/ChartSummary.json index 697548b..9f77ed0 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartSummary.json +++ b/dev/schemas/split-swagger/components/schemas/ChartSummary.json @@ -18,4 +18,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.BIG_NUMBER.json b/dev/schemas/split-swagger/components/schemas/ChartType.BIG_NUMBER.json index d99eea0..408242f 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.BIG_NUMBER.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.BIG_NUMBER.json @@ -3,4 +3,4 @@ "big_number" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.CARTESIAN.json b/dev/schemas/split-swagger/components/schemas/ChartType.CARTESIAN.json index fbd0185..e578418 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.CARTESIAN.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.CARTESIAN.json @@ -3,4 +3,4 @@ "cartesian" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.CUSTOM.json b/dev/schemas/split-swagger/components/schemas/ChartType.CUSTOM.json index b826d1e..87062ad 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.CUSTOM.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.CUSTOM.json @@ -3,4 +3,4 @@ "custom" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.FUNNEL.json b/dev/schemas/split-swagger/components/schemas/ChartType.FUNNEL.json index f428ded..60a9922 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.FUNNEL.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.FUNNEL.json @@ -3,4 +3,4 @@ "funnel" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.PIE.json b/dev/schemas/split-swagger/components/schemas/ChartType.PIE.json index 394d129..38b6746 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.PIE.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.PIE.json @@ -3,4 +3,4 @@ "pie" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.TABLE.json b/dev/schemas/split-swagger/components/schemas/ChartType.TABLE.json index 34ff5e1..2ff562f 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.TABLE.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.TABLE.json @@ -3,4 +3,4 @@ "table" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartType.json b/dev/schemas/split-swagger/components/schemas/ChartType.json index 6d6ab5b..e202a1b 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartType.json +++ b/dev/schemas/split-swagger/components/schemas/ChartType.json @@ -8,4 +8,4 @@ "custom" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartVersion.json b/dev/schemas/split-swagger/components/schemas/ChartVersion.json index 404697c..f6effa4 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartVersion.json +++ b/dev/schemas/split-swagger/components/schemas/ChartVersion.json @@ -30,4 +30,4 @@ "chartUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ChartVersionSummary.json b/dev/schemas/split-swagger/components/schemas/ChartVersionSummary.json index fee7881..b963f9a 100644 --- a/dev/schemas/split-swagger/components/schemas/ChartVersionSummary.json +++ b/dev/schemas/split-swagger/components/schemas/ChartVersionSummary.json @@ -1,3 +1,3 @@ { "$ref": "./Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Comment.json b/dev/schemas/split-swagger/components/schemas/Comment.json index 6355b46..d835585 100644 --- a/dev/schemas/split-swagger/components/schemas/Comment.json +++ b/dev/schemas/split-swagger/components/schemas/Comment.json @@ -57,4 +57,4 @@ "commentId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Compact.json b/dev/schemas/split-swagger/components/schemas/Compact.json index 6a254ae..1576e9c 100644 --- a/dev/schemas/split-swagger/components/schemas/Compact.json +++ b/dev/schemas/split-swagger/components/schemas/Compact.json @@ -6,4 +6,4 @@ "trillions" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CompactOrAlias.json b/dev/schemas/split-swagger/components/schemas/CompactOrAlias.json index 1c7d63f..464fe93 100644 --- a/dev/schemas/split-swagger/components/schemas/CompactOrAlias.json +++ b/dev/schemas/split-swagger/components/schemas/CompactOrAlias.json @@ -17,4 +17,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ComparisonFormatTypes.json b/dev/schemas/split-swagger/components/schemas/ComparisonFormatTypes.json index c6b7db8..959e10f 100644 --- a/dev/schemas/split-swagger/components/schemas/ComparisonFormatTypes.json +++ b/dev/schemas/split-swagger/components/schemas/ComparisonFormatTypes.json @@ -4,4 +4,4 @@ "percentage" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CompiledDimension.json b/dev/schemas/split-swagger/components/schemas/CompiledDimension.json new file mode 100644 index 0000000..0143971 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CompiledDimension.json @@ -0,0 +1,117 @@ +{ + "properties": { + "fieldType": { + "$ref": "./FieldType.DIMENSION.json" + }, + "type": { + "$ref": "./DimensionType.json" + }, + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "table": { + "type": "string" + }, + "tableLabel": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "description": { + "type": "string" + }, + "source": { + "$ref": "./Source.json" + }, + "hidden": { + "type": "boolean" + }, + "compact": { + "$ref": "./CompactOrAlias.json" + }, + "round": { + "type": "number", + "format": "double" + }, + "format": { + "$ref": "./Format.json" + }, + "groupLabel": { + "type": "string", + "deprecated": true + }, + "groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "urls": { + "items": { + "$ref": "./FieldUrl.json" + }, + "type": "array" + }, + "index": { + "type": "number", + "format": "double" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "group": { + "type": "string", + "deprecated": true + }, + "requiredAttributes": { + "$ref": "./Record_string.string-or-string-Array_.json" + }, + "timeInterval": { + "$ref": "./TimeFrames.json" + }, + "timeIntervalBaseDimensionName": { + "type": "string" + }, + "isAdditionalDimension": { + "type": "boolean" + }, + "colors": { + "$ref": "./Record_string.string_.json" + }, + "isIntervalBase": { + "type": "boolean" + }, + "compiledSql": { + "type": "string" + }, + "tablesReferences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tablesRequiredAttributes": { + "$ref": "./Record_string.Record_string.string-or-string-Array__.json" + } + }, + "required": [ + "fieldType", + "type", + "name", + "label", + "table", + "tableLabel", + "sql", + "hidden", + "compiledSql" + ], + "type": "object", + "additionalProperties": true +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CompiledExploreJoin.json b/dev/schemas/split-swagger/components/schemas/CompiledExploreJoin.json index 206dbc7..1f606db 100644 --- a/dev/schemas/split-swagger/components/schemas/CompiledExploreJoin.json +++ b/dev/schemas/split-swagger/components/schemas/CompiledExploreJoin.json @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CompiledMetric.json b/dev/schemas/split-swagger/components/schemas/CompiledMetric.json new file mode 100644 index 0000000..44949de --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CompiledMetric.json @@ -0,0 +1,127 @@ +{ + "properties": { + "fieldType": { + "$ref": "./FieldType.METRIC.json" + }, + "type": { + "$ref": "./MetricType.json" + }, + "name": { + "type": "string" + }, + "label": { + "type": "string" + }, + "table": { + "type": "string" + }, + "tableLabel": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "description": { + "type": "string" + }, + "source": { + "$ref": "./Source.json" + }, + "hidden": { + "type": "boolean" + }, + "compact": { + "$ref": "./CompactOrAlias.json" + }, + "round": { + "type": "number", + "format": "double" + }, + "format": { + "$ref": "./Format.json" + }, + "groupLabel": { + "type": "string", + "deprecated": true + }, + "groups": { + "items": { + "type": "string" + }, + "type": "array" + }, + "urls": { + "items": { + "$ref": "./FieldUrl.json" + }, + "type": "array" + }, + "index": { + "type": "number", + "format": "double" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "isAutoGenerated": { + "type": "boolean" + }, + "showUnderlyingValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "filters": { + "items": { + "$ref": "./MetricFilterRule.json" + }, + "type": "array" + }, + "percentile": { + "type": "number", + "format": "double" + }, + "formatOptions": { + "$ref": "./CustomFormat.json" + }, + "dimensionReference": { + "type": "string" + }, + "requiredAttributes": { + "$ref": "./Record_string.string-or-string-Array_.json" + }, + "defaultTimeDimension": { + "$ref": "./DefaultTimeDimension.json" + }, + "compiledSql": { + "type": "string" + }, + "tablesReferences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tablesRequiredAttributes": { + "$ref": "./Record_string.Record_string.string-or-string-Array__.json" + } + }, + "required": [ + "fieldType", + "type", + "name", + "label", + "table", + "tableLabel", + "sql", + "hidden", + "isAutoGenerated", + "compiledSql" + ], + "type": "object", + "additionalProperties": true +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CompiledTable.json b/dev/schemas/split-swagger/components/schemas/CompiledTable.json index 00f8204..f019743 100644 --- a/dev/schemas/split-swagger/components/schemas/CompiledTable.json +++ b/dev/schemas/split-swagger/components/schemas/CompiledTable.json @@ -29,4 +29,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfig.json b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfig.json index 7cf2dc5..5777d6c 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfig.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfig.json @@ -7,4 +7,4 @@ "$ref": "./ConditionalFormattingConfigWithColorRange.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithColorRange.json b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithColorRange.json index 01db1fe..c4cb83f 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithColorRange.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithColorRange.json @@ -41,4 +41,4 @@ "target" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithSingleColor.json b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithSingleColor.json index 1d68f45..06eb7e3 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithSingleColor.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingConfigWithSingleColor.json @@ -24,4 +24,4 @@ "target" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithConditionalOperator.json b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithConditionalOperator.json index 22607a7..9376a0b 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithConditionalOperator.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithConditionalOperator.json @@ -19,4 +19,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithRange.json b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithRange.json index b01cfa1..29ef246 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithRange.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalFormattingWithRange.json @@ -14,4 +14,4 @@ "min" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalOperator.json b/dev/schemas/split-swagger/components/schemas/ConditionalOperator.json index f70f498..487d19f 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalOperator.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalOperator.json @@ -20,4 +20,4 @@ "inBetween" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ConditionalRule_ConditionalOperator.number_.json b/dev/schemas/split-swagger/components/schemas/ConditionalRule_ConditionalOperator.number_.json index a7561a7..4f35347 100644 --- a/dev/schemas/split-swagger/components/schemas/ConditionalRule_ConditionalOperator.number_.json +++ b/dev/schemas/split-swagger/components/schemas/ConditionalRule_ConditionalOperator.number_.json @@ -19,4 +19,4 @@ "id" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ContentType.CHART.json b/dev/schemas/split-swagger/components/schemas/ContentType.CHART.json index bcb695b..c3bfa4a 100644 --- a/dev/schemas/split-swagger/components/schemas/ContentType.CHART.json +++ b/dev/schemas/split-swagger/components/schemas/ContentType.CHART.json @@ -3,4 +3,4 @@ "chart" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ContentType.DASHBOARD.json b/dev/schemas/split-swagger/components/schemas/ContentType.DASHBOARD.json index 44fb346..1102d3b 100644 --- a/dev/schemas/split-swagger/components/schemas/ContentType.DASHBOARD.json +++ b/dev/schemas/split-swagger/components/schemas/ContentType.DASHBOARD.json @@ -3,4 +3,4 @@ "dashboard" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ContentType.json b/dev/schemas/split-swagger/components/schemas/ContentType.json index 4985a04..8429521 100644 --- a/dev/schemas/split-swagger/components/schemas/ContentType.json +++ b/dev/schemas/split-swagger/components/schemas/ContentType.json @@ -4,4 +4,4 @@ "dashboard" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboard.json b/dev/schemas/split-swagger/components/schemas/CreateDashboard.json new file mode 100644 index 0000000..9fa1fe6 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboard.json @@ -0,0 +1,53 @@ +{ + "properties": { + "tabs": { + "items": { + "$ref": "./DashboardTab.json" + }, + "type": "array" + }, + "spaceUuid": { + "type": "string" + }, + "updatedByUser": { + "$ref": "./Pick_UpdatedByUser.userUuid_.json" + }, + "filters": { + "$ref": "./DashboardFilters.json" + }, + "tiles": { + "items": { + "anyOf": [ + { + "$ref": "./CreateDashboardChartTile.json" + }, + { + "$ref": "./CreateDashboardMarkdownTile.json" + }, + { + "$ref": "./CreateDashboardLoomTile.json" + }, + { + "$ref": "./CreateDashboardSqlChartTile.json" + }, + { + "$ref": "./CreateDashboardSemanticViewerChartTile.json" + } + ] + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "tabs", + "tiles", + "name" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboardChartTile.json b/dev/schemas/split-swagger/components/schemas/CreateDashboardChartTile.json new file mode 100644 index 0000000..e614a37 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboardChartTile.json @@ -0,0 +1,10 @@ +{ + "allOf": [ + { + "$ref": "./CreateDashboardTileBase.json" + }, + { + "$ref": "./DashboardChartTileProperties.json" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboardLoomTile.json b/dev/schemas/split-swagger/components/schemas/CreateDashboardLoomTile.json new file mode 100644 index 0000000..83b836b --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboardLoomTile.json @@ -0,0 +1,10 @@ +{ + "allOf": [ + { + "$ref": "./CreateDashboardTileBase.json" + }, + { + "$ref": "./DashboardLoomTileProperties.json" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboardMarkdownTile.json b/dev/schemas/split-swagger/components/schemas/CreateDashboardMarkdownTile.json new file mode 100644 index 0000000..5e6ae58 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboardMarkdownTile.json @@ -0,0 +1,10 @@ +{ + "allOf": [ + { + "$ref": "./CreateDashboardTileBase.json" + }, + { + "$ref": "./DashboardMarkdownTileProperties.json" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboardSemanticViewerChartTile.json b/dev/schemas/split-swagger/components/schemas/CreateDashboardSemanticViewerChartTile.json new file mode 100644 index 0000000..ff423f4 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboardSemanticViewerChartTile.json @@ -0,0 +1,10 @@ +{ + "allOf": [ + { + "$ref": "./CreateDashboardTileBase.json" + }, + { + "$ref": "./DashboardSemanticViewerChartTileProperties.json" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboardSqlChartTile.json b/dev/schemas/split-swagger/components/schemas/CreateDashboardSqlChartTile.json new file mode 100644 index 0000000..230f835 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboardSqlChartTile.json @@ -0,0 +1,10 @@ +{ + "allOf": [ + { + "$ref": "./CreateDashboardTileBase.json" + }, + { + "$ref": "./DashboardSqlChartTileProperties.json" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateDashboardTileBase.json b/dev/schemas/split-swagger/components/schemas/CreateDashboardTileBase.json new file mode 100644 index 0000000..c82d987 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CreateDashboardTileBase.json @@ -0,0 +1,37 @@ +{ + "properties": { + "tabUuid": { + "type": "string" + }, + "w": { + "type": "number", + "format": "double" + }, + "h": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "x": { + "type": "number", + "format": "double" + }, + "type": { + "$ref": "./DashboardTileTypes.json" + }, + "uuid": { + "type": "string" + } + }, + "required": [ + "w", + "h", + "y", + "x", + "type" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateGroup.json b/dev/schemas/split-swagger/components/schemas/CreateGroup.json index 656fe92..e4248aa 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateGroup.json +++ b/dev/schemas/split-swagger/components/schemas/CreateGroup.json @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateGroupAttributeValue.json b/dev/schemas/split-swagger/components/schemas/CreateGroupAttributeValue.json index b2020fa..7d1f3b1 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateGroupAttributeValue.json +++ b/dev/schemas/split-swagger/components/schemas/CreateGroupAttributeValue.json @@ -1,3 +1,3 @@ { "$ref": "./GroupAttributeValue.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateOrganization.json b/dev/schemas/split-swagger/components/schemas/CreateOrganization.json index d8a9a69..73ac916 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateOrganization.json +++ b/dev/schemas/split-swagger/components/schemas/CreateOrganization.json @@ -1,3 +1,3 @@ { "$ref": "./Pick_Organization.name_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateProjectMember.json b/dev/schemas/split-swagger/components/schemas/CreateProjectMember.json index e4ebf9a..8f2495c 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateProjectMember.json +++ b/dev/schemas/split-swagger/components/schemas/CreateProjectMember.json @@ -16,4 +16,4 @@ "email" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateShareUrl.json b/dev/schemas/split-swagger/components/schemas/CreateShareUrl.json index 90343ce..418f4da 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateShareUrl.json +++ b/dev/schemas/split-swagger/components/schemas/CreateShareUrl.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_ShareUrl.path-or-params_.json", "description": "Contains the detail of a full URL to generate a short URL id" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateSpace.json b/dev/schemas/split-swagger/components/schemas/CreateSpace.json index 70da659..629b470 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateSpace.json +++ b/dev/schemas/split-swagger/components/schemas/CreateSpace.json @@ -17,4 +17,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateSqlChart.json b/dev/schemas/split-swagger/components/schemas/CreateSqlChart.json index 21bd7f4..3e4c70b 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/CreateSqlChart.json @@ -4,7 +4,7 @@ "type": "string" }, "config": { - "$ref": "./VizChartConfig.json" + "$ref": "./AllVizChartConfig.json" }, "limit": { "type": "number", @@ -30,4 +30,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateUserArgs.json b/dev/schemas/split-swagger/components/schemas/CreateUserArgs.json index 1d5542b..5fea65e 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateUserArgs.json +++ b/dev/schemas/split-swagger/components/schemas/CreateUserArgs.json @@ -20,4 +20,4 @@ "firstName" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateUserAttribute.json b/dev/schemas/split-swagger/components/schemas/CreateUserAttribute.json index 12b28b8..8d5cc48 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateUserAttribute.json +++ b/dev/schemas/split-swagger/components/schemas/CreateUserAttribute.json @@ -25,4 +25,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateUserAttributeValue.json b/dev/schemas/split-swagger/components/schemas/CreateUserAttributeValue.json index 4321fef..8426c67 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateUserAttributeValue.json +++ b/dev/schemas/split-swagger/components/schemas/CreateUserAttributeValue.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_UserAttributeValue.email_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CreateCustomExplorePayload.json b/dev/schemas/split-swagger/components/schemas/CreateVirtualViewPayload.json similarity index 99% rename from dev/schemas/split-swagger/components/schemas/CreateCustomExplorePayload.json rename to dev/schemas/split-swagger/components/schemas/CreateVirtualViewPayload.json index 69af0ea..c3fe2c5 100644 --- a/dev/schemas/split-swagger/components/schemas/CreateCustomExplorePayload.json +++ b/dev/schemas/split-swagger/components/schemas/CreateVirtualViewPayload.json @@ -19,4 +19,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CubeSemanticLayerConnection.json b/dev/schemas/split-swagger/components/schemas/CubeSemanticLayerConnection.json index bcf2985..cca9d74 100644 --- a/dev/schemas/split-swagger/components/schemas/CubeSemanticLayerConnection.json +++ b/dev/schemas/split-swagger/components/schemas/CubeSemanticLayerConnection.json @@ -16,4 +16,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomBinDimension.json b/dev/schemas/split-swagger/components/schemas/CustomBinDimension.json index 3d534d7..99f50ab 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomBinDimension.json +++ b/dev/schemas/split-swagger/components/schemas/CustomBinDimension.json @@ -43,4 +43,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomDimension.json b/dev/schemas/split-swagger/components/schemas/CustomDimension.json index aa14a11..2becc7e 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomDimension.json +++ b/dev/schemas/split-swagger/components/schemas/CustomDimension.json @@ -7,4 +7,4 @@ "$ref": "./CustomSqlDimension.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomDimensionType.BIN.json b/dev/schemas/split-swagger/components/schemas/CustomDimensionType.BIN.json index 35bbded..1b66900 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomDimensionType.BIN.json +++ b/dev/schemas/split-swagger/components/schemas/CustomDimensionType.BIN.json @@ -3,4 +3,4 @@ "bin" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomDimensionType.SQL.json b/dev/schemas/split-swagger/components/schemas/CustomDimensionType.SQL.json index c1e0b2c..2eb2c8f 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomDimensionType.SQL.json +++ b/dev/schemas/split-swagger/components/schemas/CustomDimensionType.SQL.json @@ -3,4 +3,4 @@ "sql" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomDimensionType.json b/dev/schemas/split-swagger/components/schemas/CustomDimensionType.json index 11175ff..a6beda7 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomDimensionType.json +++ b/dev/schemas/split-swagger/components/schemas/CustomDimensionType.json @@ -4,4 +4,4 @@ "sql" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomFormat.json b/dev/schemas/split-swagger/components/schemas/CustomFormat.json index 2b71c99..43678a5 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomFormat.json +++ b/dev/schemas/split-swagger/components/schemas/CustomFormat.json @@ -31,4 +31,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomFormatType.json b/dev/schemas/split-swagger/components/schemas/CustomFormatType.json index 9c10c18..7256997 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomFormatType.json +++ b/dev/schemas/split-swagger/components/schemas/CustomFormatType.json @@ -9,4 +9,4 @@ "timestamp" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomIcon.json b/dev/schemas/split-swagger/components/schemas/CustomIcon.json new file mode 100644 index 0000000..2186f40 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/CustomIcon.json @@ -0,0 +1,11 @@ +{ + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomLabel.json b/dev/schemas/split-swagger/components/schemas/CustomLabel.json index 8c4bcc7..26334c0 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomLabel.json +++ b/dev/schemas/split-swagger/components/schemas/CustomLabel.json @@ -4,4 +4,4 @@ "type": "string" }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomSqlDimension.json b/dev/schemas/split-swagger/components/schemas/CustomSqlDimension.json index edfe09a..24038b4 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomSqlDimension.json +++ b/dev/schemas/split-swagger/components/schemas/CustomSqlDimension.json @@ -29,4 +29,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomVis.json b/dev/schemas/split-swagger/components/schemas/CustomVis.json index a0910a5..3e4ade8 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomVis.json +++ b/dev/schemas/split-swagger/components/schemas/CustomVis.json @@ -6,4 +6,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/CustomVisConfig.json b/dev/schemas/split-swagger/components/schemas/CustomVisConfig.json index 23a3c72..66b311c 100644 --- a/dev/schemas/split-swagger/components/schemas/CustomVisConfig.json +++ b/dev/schemas/split-swagger/components/schemas/CustomVisConfig.json @@ -11,4 +11,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Dashboard.json b/dev/schemas/split-swagger/components/schemas/Dashboard.json new file mode 100644 index 0000000..0848d08 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Dashboard.json @@ -0,0 +1,111 @@ +{ + "properties": { + "slug": { + "type": "string" + }, + "access": { + "items": { + "$ref": "./SpaceShare.json" + }, + "type": "array", + "nullable": true + }, + "isPrivate": { + "type": "boolean", + "nullable": true + }, + "tabs": { + "items": { + "$ref": "./DashboardTab.json" + }, + "type": "array" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "views": { + "type": "number", + "format": "double" + }, + "spaceName": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "updatedByUser": { + "$ref": "./UpdatedByUser.json" + }, + "filters": { + "$ref": "./DashboardFilters.json" + }, + "tiles": { + "items": { + "$ref": "./DashboardTile.json" + }, + "type": "array" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "dashboardVersionId": { + "type": "number", + "format": "double" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + } + }, + "required": [ + "slug", + "access", + "isPrivate", + "tabs", + "pinnedListOrder", + "pinnedListUuid", + "firstViewedAt", + "views", + "spaceName", + "spaceUuid", + "filters", + "tiles", + "updatedAt", + "name", + "uuid", + "dashboardVersionId", + "projectUuid", + "organizationUuid" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardAsCode.json b/dev/schemas/split-swagger/components/schemas/DashboardAsCode.json new file mode 100644 index 0000000..e8ac5c4 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DashboardAsCode.json @@ -0,0 +1,34 @@ +{ + "allOf": [ + { + "$ref": "./Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_.json" + }, + { + "properties": { + "downloadedAt": { + "type": "string", + "format": "date-time" + }, + "spaceSlug": { + "type": "string" + }, + "version": { + "type": "number", + "format": "double" + }, + "tiles": { + "items": { + "$ref": "./DashboardTileWithoutUuids.json" + }, + "type": "array" + } + }, + "required": [ + "spaceSlug", + "version", + "tiles" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardBasicDetails.json b/dev/schemas/split-swagger/components/schemas/DashboardBasicDetails.json index 776aad1..12341b1 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardBasicDetails.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardBasicDetails.json @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardBasicDetailsWithTileTypes.json b/dev/schemas/split-swagger/components/schemas/DashboardBasicDetailsWithTileTypes.json new file mode 100644 index 0000000..6c71d1e --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DashboardBasicDetailsWithTileTypes.json @@ -0,0 +1,21 @@ +{ + "allOf": [ + { + "$ref": "./DashboardBasicDetails.json" + }, + { + "properties": { + "tileTypes": { + "items": { + "$ref": "./DashboardTileTypes.json" + }, + "type": "array" + } + }, + "required": [ + "tileTypes" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardChartTile.json b/dev/schemas/split-swagger/components/schemas/DashboardChartTile.json index b1da77f..4e63366 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardChartTile.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardChartTile.json @@ -7,4 +7,4 @@ "$ref": "./DashboardChartTileProperties.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardChartTileProperties.json b/dev/schemas/split-swagger/components/schemas/DashboardChartTileProperties.json index 6f217f4..502547d 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardChartTileProperties.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardChartTileProperties.json @@ -2,6 +2,9 @@ "properties": { "properties": { "properties": { + "chartSlug": { + "type": "string" + }, "lastVersionChartKind": { "allOf": [ { @@ -42,4 +45,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardContent.json b/dev/schemas/split-swagger/components/schemas/DashboardContent.json index ec32fa0..798a1fe 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardContent.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardContent.json @@ -151,4 +151,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardDAO.json b/dev/schemas/split-swagger/components/schemas/DashboardDAO.json index 0ae2f44..b3c9a4f 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardDAO.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardDAO.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_Dashboard.isPrivate-or-access_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardFieldTarget.json b/dev/schemas/split-swagger/components/schemas/DashboardFieldTarget.json index e9833a6..448e3d7 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardFieldTarget.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardFieldTarget.json @@ -12,4 +12,4 @@ "fieldId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardFilterRule.json b/dev/schemas/split-swagger/components/schemas/DashboardFilterRule.json index 579d6fb..6882e54 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardFilterRule.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardFilterRule.json @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardFilters.json b/dev/schemas/split-swagger/components/schemas/DashboardFilters.json index 5e405ca..433c490 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardFilters.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardFilters.json @@ -25,4 +25,4 @@ "dimensions" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardLoomTile.json b/dev/schemas/split-swagger/components/schemas/DashboardLoomTile.json index 71d7da5..674fd86 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardLoomTile.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardLoomTile.json @@ -7,4 +7,4 @@ "$ref": "./DashboardLoomTileProperties.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardLoomTileProperties.json b/dev/schemas/split-swagger/components/schemas/DashboardLoomTileProperties.json index 22d5178..4500cdd 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardLoomTileProperties.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardLoomTileProperties.json @@ -27,4 +27,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTile.json b/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTile.json index 57f24bc..1051553 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTile.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTile.json @@ -7,4 +7,4 @@ "$ref": "./DashboardMarkdownTileProperties.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTileProperties.json b/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTileProperties.json index cc22b7a..b0468b2 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTileProperties.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardMarkdownTileProperties.json @@ -24,4 +24,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardScheduler.json b/dev/schemas/split-swagger/components/schemas/DashboardScheduler.json index 85bb948..2c80054 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardScheduler.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardScheduler.json @@ -39,4 +39,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTile.json b/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTile.json index 701cb6f..c865c66 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTile.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTile.json @@ -7,4 +7,4 @@ "$ref": "./DashboardSemanticViewerChartTileProperties.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTileProperties.json b/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTileProperties.json index 5dbb456..a5bbe1c 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTileProperties.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardSemanticViewerChartTileProperties.json @@ -2,6 +2,9 @@ "properties": { "properties": { "properties": { + "chartSlug": { + "type": "string" + }, "hideTitle": { "type": "boolean" }, @@ -31,4 +34,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTile.json b/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTile.json index 6cd0767..d2d01cb 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTile.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTile.json @@ -7,4 +7,4 @@ "$ref": "./DashboardSqlChartTileProperties.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTileProperties.json b/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTileProperties.json index bd17a29..6be97c2 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTileProperties.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardSqlChartTileProperties.json @@ -2,6 +2,9 @@ "properties": { "properties": { "properties": { + "chartSlug": { + "type": "string" + }, "hideTitle": { "type": "boolean" }, @@ -31,4 +34,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTab.json b/dev/schemas/split-swagger/components/schemas/DashboardTab.json index 7aecedc..1ea830f 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTab.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTab.json @@ -17,4 +17,4 @@ "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTile.json b/dev/schemas/split-swagger/components/schemas/DashboardTile.json index e72b9ac..58e7993 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTile.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTile.json @@ -16,4 +16,4 @@ "$ref": "./DashboardSemanticViewerChartTile.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileBase.json b/dev/schemas/split-swagger/components/schemas/DashboardTileBase.json index 3d433af..be7a77b 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileBase.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileBase.json @@ -1,3 +1,3 @@ { "$ref": "./Required_CreateDashboardTileBase_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.LOOM.json b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.LOOM.json index 556c17d..d475617 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.LOOM.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.LOOM.json @@ -3,4 +3,4 @@ "loom" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.MARKDOWN.json b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.MARKDOWN.json index d57f99c..f92ef75 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.MARKDOWN.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.MARKDOWN.json @@ -3,4 +3,4 @@ "markdown" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SAVED_CHART.json b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SAVED_CHART.json index 907e212..6736b7c 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SAVED_CHART.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SAVED_CHART.json @@ -3,4 +3,4 @@ "saved_chart" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART.json b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART.json index 379b502..8b5265c 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART.json @@ -3,4 +3,4 @@ "semantic_viewer_chart" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SQL_CHART.json b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SQL_CHART.json index 8142e67..7c8b224 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SQL_CHART.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.SQL_CHART.json @@ -3,4 +3,4 @@ "sql_chart" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.json b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.json index 058425b..49849f9 100644 --- a/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.json +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileTypes.json @@ -7,4 +7,4 @@ "loom" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DashboardTileWithoutUuids.json b/dev/schemas/split-swagger/components/schemas/DashboardTileWithoutUuids.json new file mode 100644 index 0000000..9e41f34 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DashboardTileWithoutUuids.json @@ -0,0 +1,18 @@ +{ + "allOf": [ + { + "$ref": "./Omit_DashboardTile.properties_.json" + }, + { + "properties": { + "properties": { + "$ref": "./Omit_DashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid_.json" + } + }, + "required": [ + "properties" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DatabricksCredentials.json b/dev/schemas/split-swagger/components/schemas/DatabricksCredentials.json index 8329130..8bb94ba 100644 --- a/dev/schemas/split-swagger/components/schemas/DatabricksCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/DatabricksCredentials.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DateGranularity.json b/dev/schemas/split-swagger/components/schemas/DateGranularity.json index 1bbd348..f5e472e 100644 --- a/dev/schemas/split-swagger/components/schemas/DateGranularity.json +++ b/dev/schemas/split-swagger/components/schemas/DateGranularity.json @@ -7,4 +7,4 @@ "Year" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbTagUpdate.json b/dev/schemas/split-swagger/components/schemas/DbTagUpdate.json new file mode 100644 index 0000000..6752d00 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DbTagUpdate.json @@ -0,0 +1,3 @@ +{ + "$ref": "./Partial_Pick_DbTag.name-or-color__.json" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtAzureDevOpsProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtAzureDevOpsProjectConfig.json index 89acfa7..f7d7cc9 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtAzureDevOpsProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtAzureDevOpsProjectConfig.json @@ -42,4 +42,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtBitBucketProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtBitBucketProjectConfig.json index 61d6785..ba2c73a 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtBitBucketProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtBitBucketProjectConfig.json @@ -41,4 +41,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtCloudIDEProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtCloudIDEProjectConfig.json index 18f2881..8e85689 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtCloudIDEProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtCloudIDEProjectConfig.json @@ -17,4 +17,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtGithubProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtGithubProjectConfig.json index 53f2f2d..761f19c 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtGithubProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtGithubProjectConfig.json @@ -37,4 +37,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtGitlabProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtGitlabProjectConfig.json index b6e47e0..51ef5d1 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtGitlabProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtGitlabProjectConfig.json @@ -37,4 +37,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtLocalProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtLocalProjectConfig.json index 4fe2340..6cf5051 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtLocalProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtLocalProjectConfig.json @@ -24,4 +24,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtModelJoinType.json b/dev/schemas/split-swagger/components/schemas/DbtModelJoinType.json index e17f543..6d83b88 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtModelJoinType.json +++ b/dev/schemas/split-swagger/components/schemas/DbtModelJoinType.json @@ -6,4 +6,4 @@ "left", "right" ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtNoneProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtNoneProjectConfig.json index a8c63b2..31b5ce6 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtNoneProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtNoneProjectConfig.json @@ -21,4 +21,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectConfig.json b/dev/schemas/split-swagger/components/schemas/DbtProjectConfig.json index bd26f5a..4975fdf 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectConfig.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectConfig.json @@ -22,4 +22,4 @@ "$ref": "./DbtNoneProjectConfig.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectEnvironmentVariable.json b/dev/schemas/split-swagger/components/schemas/DbtProjectEnvironmentVariable.json index da379eb..43a1a56 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectEnvironmentVariable.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectEnvironmentVariable.json @@ -12,4 +12,4 @@ "key" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.AZURE_DEVOPS.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.AZURE_DEVOPS.json index 6169878..eacd540 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.AZURE_DEVOPS.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.AZURE_DEVOPS.json @@ -3,4 +3,4 @@ "azure_devops" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.BITBUCKET.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.BITBUCKET.json index 885f291..d26c207 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.BITBUCKET.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.BITBUCKET.json @@ -3,4 +3,4 @@ "bitbucket" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT.json index 2a92d46..3848ad8 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT.json @@ -3,4 +3,4 @@ "dbt" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT_CLOUD_IDE.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT_CLOUD_IDE.json index 9a2b7b9..9dcf94d 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT_CLOUD_IDE.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.DBT_CLOUD_IDE.json @@ -3,4 +3,4 @@ "dbt_cloud_ide" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITHUB.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITHUB.json index 95da471..143091b 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITHUB.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITHUB.json @@ -3,4 +3,4 @@ "github" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITLAB.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITLAB.json index 13ea6ac..be00190 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITLAB.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.GITLAB.json @@ -3,4 +3,4 @@ "gitlab" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.NONE.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.NONE.json index d12c449..41479f8 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.NONE.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.NONE.json @@ -3,4 +3,4 @@ "none" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtProjectType.json b/dev/schemas/split-swagger/components/schemas/DbtProjectType.json index 3c6a87b..d49a74d 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtProjectType.json +++ b/dev/schemas/split-swagger/components/schemas/DbtProjectType.json @@ -9,4 +9,4 @@ "none" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DbtSemanticLayerConnection.json b/dev/schemas/split-swagger/components/schemas/DbtSemanticLayerConnection.json index 802f148..e99b787 100644 --- a/dev/schemas/split-swagger/components/schemas/DbtSemanticLayerConnection.json +++ b/dev/schemas/split-swagger/components/schemas/DbtSemanticLayerConnection.json @@ -20,4 +20,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DefaultTimeDimension.json b/dev/schemas/split-swagger/components/schemas/DefaultTimeDimension.json new file mode 100644 index 0000000..24de2aa --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DefaultTimeDimension.json @@ -0,0 +1,15 @@ +{ + "properties": { + "interval": { + "$ref": "./TimeFrames.json" + }, + "field": { + "type": "string" + } + }, + "required": [ + "interval", + "field" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DimensionType.DATE.json b/dev/schemas/split-swagger/components/schemas/DimensionType.DATE.json new file mode 100644 index 0000000..cc84a84 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DimensionType.DATE.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "date" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DimensionType.TIMESTAMP.json b/dev/schemas/split-swagger/components/schemas/DimensionType.TIMESTAMP.json new file mode 100644 index 0000000..24e6edd --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DimensionType.TIMESTAMP.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "timestamp" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DimensionType.json b/dev/schemas/split-swagger/components/schemas/DimensionType.json index 00cefe8..e945db9 100644 --- a/dev/schemas/split-swagger/components/schemas/DimensionType.json +++ b/dev/schemas/split-swagger/components/schemas/DimensionType.json @@ -7,4 +7,4 @@ "boolean" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/DuplicateDashboardParams.json b/dev/schemas/split-swagger/components/schemas/DuplicateDashboardParams.json new file mode 100644 index 0000000..a07cae2 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/DuplicateDashboardParams.json @@ -0,0 +1,15 @@ +{ + "properties": { + "dashboardDesc": { + "type": "string" + }, + "dashboardName": { + "type": "string" + } + }, + "required": [ + "dashboardDesc", + "dashboardName" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EChartsConfig.json b/dev/schemas/split-swagger/components/schemas/EChartsConfig.json index fde3191..306205b 100644 --- a/dev/schemas/split-swagger/components/schemas/EChartsConfig.json +++ b/dev/schemas/split-swagger/components/schemas/EChartsConfig.json @@ -1,3 +1,3 @@ { "$ref": "./Partial_CompleteEChartsConfig_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EchartsGrid.json b/dev/schemas/split-swagger/components/schemas/EchartsGrid.json index eec177d..c54f88c 100644 --- a/dev/schemas/split-swagger/components/schemas/EchartsGrid.json +++ b/dev/schemas/split-swagger/components/schemas/EchartsGrid.json @@ -23,4 +23,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EchartsLegend.json b/dev/schemas/split-swagger/components/schemas/EchartsLegend.json index 8c87424..a75e49c 100644 --- a/dev/schemas/split-swagger/components/schemas/EchartsLegend.json +++ b/dev/schemas/split-swagger/components/schemas/EchartsLegend.json @@ -58,4 +58,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Email.json b/dev/schemas/split-swagger/components/schemas/Email.json index f157066..4e155d7 100644 --- a/dev/schemas/split-swagger/components/schemas/Email.json +++ b/dev/schemas/split-swagger/components/schemas/Email.json @@ -2,4 +2,4 @@ "type": "string", "description": "Email", "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EmailOneTimePassword.json b/dev/schemas/split-swagger/components/schemas/EmailOneTimePassword.json index 1bfb09e..cdf6e5b 100644 --- a/dev/schemas/split-swagger/components/schemas/EmailOneTimePassword.json +++ b/dev/schemas/split-swagger/components/schemas/EmailOneTimePassword.json @@ -16,4 +16,4 @@ "createdAt" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EmailOneTimePasswordExpiring.json b/dev/schemas/split-swagger/components/schemas/EmailOneTimePasswordExpiring.json index 60d908d..23f7d00 100644 --- a/dev/schemas/split-swagger/components/schemas/EmailOneTimePasswordExpiring.json +++ b/dev/schemas/split-swagger/components/schemas/EmailOneTimePasswordExpiring.json @@ -24,4 +24,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EmailStatus.json b/dev/schemas/split-swagger/components/schemas/EmailStatus.json index e2ad5f2..0fd3ec3 100644 --- a/dev/schemas/split-swagger/components/schemas/EmailStatus.json +++ b/dev/schemas/split-swagger/components/schemas/EmailStatus.json @@ -15,4 +15,4 @@ "email" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EmailStatusExpiring.json b/dev/schemas/split-swagger/components/schemas/EmailStatusExpiring.json index e740bbc..2a9d7bf 100644 --- a/dev/schemas/split-swagger/components/schemas/EmailStatusExpiring.json +++ b/dev/schemas/split-swagger/components/schemas/EmailStatusExpiring.json @@ -14,4 +14,4 @@ } ], "description": "Verification status of an email address" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/EmojiIcon.json b/dev/schemas/split-swagger/components/schemas/EmojiIcon.json new file mode 100644 index 0000000..00c56f8 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/EmojiIcon.json @@ -0,0 +1,11 @@ +{ + "properties": { + "unicode": { + "type": "string" + } + }, + "required": [ + "unicode" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Explore.json b/dev/schemas/split-swagger/components/schemas/Explore.json index 897af5c..d5272e2 100644 --- a/dev/schemas/split-swagger/components/schemas/Explore.json +++ b/dev/schemas/split-swagger/components/schemas/Explore.json @@ -1,5 +1,8 @@ { "properties": { + "type": { + "$ref": "./ExploreType.json" + }, "sqlPath": { "type": "string" }, @@ -54,4 +57,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ExploreType.json b/dev/schemas/split-swagger/components/schemas/ExploreType.json new file mode 100644 index 0000000..0c45c0d --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ExploreType.json @@ -0,0 +1,7 @@ +{ + "enum": [ + "virtual", + "default" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FieldId.json b/dev/schemas/split-swagger/components/schemas/FieldId.json index 28ac6e8..169a0d7 100644 --- a/dev/schemas/split-swagger/components/schemas/FieldId.json +++ b/dev/schemas/split-swagger/components/schemas/FieldId.json @@ -1,3 +1,3 @@ { "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FieldTarget.json b/dev/schemas/split-swagger/components/schemas/FieldTarget.json index 008eca0..d54e79e 100644 --- a/dev/schemas/split-swagger/components/schemas/FieldTarget.json +++ b/dev/schemas/split-swagger/components/schemas/FieldTarget.json @@ -8,4 +8,4 @@ "fieldId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FieldType.DIMENSION.json b/dev/schemas/split-swagger/components/schemas/FieldType.DIMENSION.json new file mode 100644 index 0000000..b99ae16 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/FieldType.DIMENSION.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "dimension" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FieldType.METRIC.json b/dev/schemas/split-swagger/components/schemas/FieldType.METRIC.json new file mode 100644 index 0000000..2f4fd0d --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/FieldType.METRIC.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "metric" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FieldType.json b/dev/schemas/split-swagger/components/schemas/FieldType.json index 929d84c..8fe59df 100644 --- a/dev/schemas/split-swagger/components/schemas/FieldType.json +++ b/dev/schemas/split-swagger/components/schemas/FieldType.json @@ -4,4 +4,4 @@ "dimension" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FieldUrl.json b/dev/schemas/split-swagger/components/schemas/FieldUrl.json new file mode 100644 index 0000000..b076bed --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/FieldUrl.json @@ -0,0 +1,15 @@ +{ + "properties": { + "label": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "label", + "url" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FilterGroup.json b/dev/schemas/split-swagger/components/schemas/FilterGroup.json index 238cf48..23f25b7 100644 --- a/dev/schemas/split-swagger/components/schemas/FilterGroup.json +++ b/dev/schemas/split-swagger/components/schemas/FilterGroup.json @@ -7,4 +7,4 @@ "$ref": "./AndFilterGroup.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FilterGroupItem.json b/dev/schemas/split-swagger/components/schemas/FilterGroupItem.json index a6f7775..d47247f 100644 --- a/dev/schemas/split-swagger/components/schemas/FilterGroupItem.json +++ b/dev/schemas/split-swagger/components/schemas/FilterGroupItem.json @@ -7,4 +7,4 @@ "$ref": "./FilterRule.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FilterGroupResponse.json b/dev/schemas/split-swagger/components/schemas/FilterGroupResponse.json index b5afb07..7c255dc 100644 --- a/dev/schemas/split-swagger/components/schemas/FilterGroupResponse.json +++ b/dev/schemas/split-swagger/components/schemas/FilterGroupResponse.json @@ -33,4 +33,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FilterRule.json b/dev/schemas/split-swagger/components/schemas/FilterRule.json index 258ecd6..ddbb4d0 100644 --- a/dev/schemas/split-swagger/components/schemas/FilterRule.json +++ b/dev/schemas/split-swagger/components/schemas/FilterRule.json @@ -28,4 +28,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FilterRule_ConditionalOperator.T.V.any_.json b/dev/schemas/split-swagger/components/schemas/FilterRule_ConditionalOperator.T.V.any_.json index 074d7da..0e17eed 100644 --- a/dev/schemas/split-swagger/components/schemas/FilterRule_ConditionalOperator.T.V.any_.json +++ b/dev/schemas/split-swagger/components/schemas/FilterRule_ConditionalOperator.T.V.any_.json @@ -28,4 +28,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Filters.json b/dev/schemas/split-swagger/components/schemas/Filters.json index ed98c6b..d532843 100644 --- a/dev/schemas/split-swagger/components/schemas/Filters.json +++ b/dev/schemas/split-swagger/components/schemas/Filters.json @@ -11,4 +11,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FiltersResponse.json b/dev/schemas/split-swagger/components/schemas/FiltersResponse.json index 088de79..8c6bfae 100644 --- a/dev/schemas/split-swagger/components/schemas/FiltersResponse.json +++ b/dev/schemas/split-swagger/components/schemas/FiltersResponse.json @@ -11,4 +11,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Format.json b/dev/schemas/split-swagger/components/schemas/Format.json index b7161ba..81922ea 100644 --- a/dev/schemas/split-swagger/components/schemas/Format.json +++ b/dev/schemas/split-swagger/components/schemas/Format.json @@ -9,4 +9,4 @@ "percent" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FunnelChart.json b/dev/schemas/split-swagger/components/schemas/FunnelChart.json index 7ddc5a8..92e19ba 100644 --- a/dev/schemas/split-swagger/components/schemas/FunnelChart.json +++ b/dev/schemas/split-swagger/components/schemas/FunnelChart.json @@ -37,4 +37,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FunnelChartConfig.json b/dev/schemas/split-swagger/components/schemas/FunnelChartConfig.json index c8fd592..1faff6f 100644 --- a/dev/schemas/split-swagger/components/schemas/FunnelChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/FunnelChartConfig.json @@ -11,4 +11,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FunnelChartDataInput.json b/dev/schemas/split-swagger/components/schemas/FunnelChartDataInput.json index 65b1b4d..5905600 100644 --- a/dev/schemas/split-swagger/components/schemas/FunnelChartDataInput.json +++ b/dev/schemas/split-swagger/components/schemas/FunnelChartDataInput.json @@ -4,4 +4,4 @@ "column" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FunnelChartLabelPosition.json b/dev/schemas/split-swagger/components/schemas/FunnelChartLabelPosition.json index dec9497..9eb11a5 100644 --- a/dev/schemas/split-swagger/components/schemas/FunnelChartLabelPosition.json +++ b/dev/schemas/split-swagger/components/schemas/FunnelChartLabelPosition.json @@ -6,4 +6,4 @@ "hidden" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/FunnelChartLegendPosition.json b/dev/schemas/split-swagger/components/schemas/FunnelChartLegendPosition.json index 264e1e6..566c479 100644 --- a/dev/schemas/split-swagger/components/schemas/FunnelChartLegendPosition.json +++ b/dev/schemas/split-swagger/components/schemas/FunnelChartLegendPosition.json @@ -4,4 +4,4 @@ "vertical" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/GitIntegrationConfiguration.json b/dev/schemas/split-swagger/components/schemas/GitIntegrationConfiguration.json index 48525b0..dc2b888 100644 --- a/dev/schemas/split-swagger/components/schemas/GitIntegrationConfiguration.json +++ b/dev/schemas/split-swagger/components/schemas/GitIntegrationConfiguration.json @@ -8,4 +8,4 @@ "enabled" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/GitRepo.json b/dev/schemas/split-swagger/components/schemas/GitRepo.json index 727cf5b..95cebfa 100644 --- a/dev/schemas/split-swagger/components/schemas/GitRepo.json +++ b/dev/schemas/split-swagger/components/schemas/GitRepo.json @@ -16,4 +16,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Group.json b/dev/schemas/split-swagger/components/schemas/Group.json index 49f215c..7bdf90e 100644 --- a/dev/schemas/split-swagger/components/schemas/Group.json +++ b/dev/schemas/split-swagger/components/schemas/Group.json @@ -4,6 +4,21 @@ "type": "string", "description": "The UUID of the organization that the group belongs to" }, + "updatedByUserUuid": { + "type": "string", + "nullable": true, + "description": "The UUID of the user that last updated the group" + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "description": "The time that the group was last updated" + }, + "createdByUserUuid": { + "type": "string", + "nullable": true, + "description": "The UUID of the user that created the group" + }, "createdAt": { "type": "string", "format": "date-time", @@ -20,9 +35,12 @@ }, "required": [ "organizationUuid", + "updatedByUserUuid", + "updatedAt", + "createdByUserUuid", "createdAt", "name", "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/GroupAttributeValue.json b/dev/schemas/split-swagger/components/schemas/GroupAttributeValue.json index a6b0b48..4b379cb 100644 --- a/dev/schemas/split-swagger/components/schemas/GroupAttributeValue.json +++ b/dev/schemas/split-swagger/components/schemas/GroupAttributeValue.json @@ -12,4 +12,4 @@ "groupUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/GroupMember.json b/dev/schemas/split-swagger/components/schemas/GroupMember.json index 45d6d83..51a3526 100644 --- a/dev/schemas/split-swagger/components/schemas/GroupMember.json +++ b/dev/schemas/split-swagger/components/schemas/GroupMember.json @@ -26,4 +26,4 @@ ], "type": "object", "description": "A summary for a Lightdash user within a group" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/GroupWithMembers.json b/dev/schemas/split-swagger/components/schemas/GroupWithMembers.json index afc0185..dae5300 100644 --- a/dev/schemas/split-swagger/components/schemas/GroupWithMembers.json +++ b/dev/schemas/split-swagger/components/schemas/GroupWithMembers.json @@ -27,4 +27,4 @@ } ], "description": "Details for a group including a list of the group's members." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/InlineError.json b/dev/schemas/split-swagger/components/schemas/InlineError.json index 89b720a..9e659e3 100644 --- a/dev/schemas/split-swagger/components/schemas/InlineError.json +++ b/dev/schemas/split-swagger/components/schemas/InlineError.json @@ -12,4 +12,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/InlineErrorType.json b/dev/schemas/split-swagger/components/schemas/InlineErrorType.json index 7793bb3..94d5eb9 100644 --- a/dev/schemas/split-swagger/components/schemas/InlineErrorType.json +++ b/dev/schemas/split-swagger/components/schemas/InlineErrorType.json @@ -4,4 +4,4 @@ "NO_DIMENSIONS_FOUND" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ItemsMap.json b/dev/schemas/split-swagger/components/schemas/ItemsMap.json new file mode 100644 index 0000000..fe8ec50 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ItemsMap.json @@ -0,0 +1,3 @@ +{ + "$ref": "./Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_.json" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/KnexPaginateArgs.json b/dev/schemas/split-swagger/components/schemas/KnexPaginateArgs.json index 9e423a4..1c2f52f 100644 --- a/dev/schemas/split-swagger/components/schemas/KnexPaginateArgs.json +++ b/dev/schemas/split-swagger/components/schemas/KnexPaginateArgs.json @@ -14,4 +14,4 @@ "pageSize" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_ApiMetricsCatalogResults_.json b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_ApiMetricsCatalogResults_.json new file mode 100644 index 0000000..7c0b408 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_ApiMetricsCatalogResults_.json @@ -0,0 +1,35 @@ +{ + "properties": { + "pagination": { + "allOf": [ + { + "$ref": "./KnexPaginateArgs.json" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalResults", + "totalPageCount" + ], + "type": "object" + } + ] + }, + "data": { + "$ref": "./ApiMetricsCatalogResults.json" + } + }, + "required": [ + "data" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_.json b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_.json new file mode 100644 index 0000000..f3633e5 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_.json @@ -0,0 +1,48 @@ +{ + "properties": { + "pagination": { + "allOf": [ + { + "$ref": "./KnexPaginateArgs.json" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": [ + "totalResults", + "totalPageCount" + ], + "type": "object" + } + ] + }, + "data": { + "anyOf": [ + { + "items": { + "$ref": "./Group.json" + }, + "type": "array" + }, + { + "items": { + "$ref": "./GroupWithMembers.json" + }, + "type": "array" + } + ] + } + }, + "required": [ + "data" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_.json b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_.json index 8939df2..6ae808f 100644 --- a/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_.json +++ b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_.json @@ -7,12 +7,17 @@ }, { "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, "totalPageCount": { "type": "number", "format": "double" } }, "required": [ + "totalResults", "totalPageCount" ], "type": "object" @@ -30,4 +35,4 @@ "data" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_SummaryContent-Array_.json b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_SummaryContent-Array_.json index 26cd690..3fbaee3 100644 --- a/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_SummaryContent-Array_.json +++ b/dev/schemas/split-swagger/components/schemas/KnexPaginatedData_SummaryContent-Array_.json @@ -7,12 +7,17 @@ }, { "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, "totalPageCount": { "type": "number", "format": "double" } }, "required": [ + "totalResults", "totalPageCount" ], "type": "object" @@ -30,4 +35,4 @@ "data" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/LightdashUser.json b/dev/schemas/split-swagger/components/schemas/LightdashUser.json index 5edf6f5..99cee06 100644 --- a/dev/schemas/split-swagger/components/schemas/LightdashUser.json +++ b/dev/schemas/split-swagger/components/schemas/LightdashUser.json @@ -34,8 +34,21 @@ "role": { "$ref": "./OrganizationMemberRole.json" }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, "isActive": { - "type": "boolean" + "type": "boolean", + "description": "Whether the user can login" + }, + "isPending": { + "type": "boolean", + "description": "Whether the user doesn't have an authentication method (password or openId)" } }, "required": [ @@ -45,8 +58,10 @@ "isTrackingAnonymized", "isMarketingOptedIn", "isSetupComplete", + "createdAt", + "updatedAt", "isActive" ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/LineageGraph.json b/dev/schemas/split-swagger/components/schemas/LineageGraph.json index c6cae91..787354c 100644 --- a/dev/schemas/split-swagger/components/schemas/LineageGraph.json +++ b/dev/schemas/split-swagger/components/schemas/LineageGraph.json @@ -1,3 +1,3 @@ { "$ref": "./Record_string.LineageNodeDependency-Array_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/LocalIssuerTypes.json b/dev/schemas/split-swagger/components/schemas/LocalIssuerTypes.json index 9c2691a..bfcd490 100644 --- a/dev/schemas/split-swagger/components/schemas/LocalIssuerTypes.json +++ b/dev/schemas/split-swagger/components/schemas/LocalIssuerTypes.json @@ -4,4 +4,4 @@ "apiToken" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/LoginOptionTypes.json b/dev/schemas/split-swagger/components/schemas/LoginOptionTypes.json index 4b410b2..a1f725b 100644 --- a/dev/schemas/split-swagger/components/schemas/LoginOptionTypes.json +++ b/dev/schemas/split-swagger/components/schemas/LoginOptionTypes.json @@ -7,4 +7,4 @@ "$ref": "./LocalIssuerTypes.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/LoginOptions.json b/dev/schemas/split-swagger/components/schemas/LoginOptions.json index 733648b..b3d936d 100644 --- a/dev/schemas/split-swagger/components/schemas/LoginOptions.json +++ b/dev/schemas/split-swagger/components/schemas/LoginOptions.json @@ -17,4 +17,4 @@ "showOptions" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MarkLine.json b/dev/schemas/split-swagger/components/schemas/MarkLine.json index 491d322..9887472 100644 --- a/dev/schemas/split-swagger/components/schemas/MarkLine.json +++ b/dev/schemas/split-swagger/components/schemas/MarkLine.json @@ -42,4 +42,4 @@ "data" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MarkLineData.json b/dev/schemas/split-swagger/components/schemas/MarkLineData.json index 455d6f0..bd7fd4d 100644 --- a/dev/schemas/split-swagger/components/schemas/MarkLineData.json +++ b/dev/schemas/split-swagger/components/schemas/MarkLineData.json @@ -57,4 +57,4 @@ "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.DIFFERENT_METRIC.json b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.DIFFERENT_METRIC.json new file mode 100644 index 0000000..d2ef48a --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.DIFFERENT_METRIC.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "different_metric" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.NONE.json b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.NONE.json new file mode 100644 index 0000000..41479f8 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.NONE.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "none" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.PREVIOUS_PERIOD.json b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.PREVIOUS_PERIOD.json new file mode 100644 index 0000000..f228b0e --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparison.PREVIOUS_PERIOD.json @@ -0,0 +1,6 @@ +{ + "enum": [ + "previous_period" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricExplorerComparisonType.json b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparisonType.json new file mode 100644 index 0000000..145b790 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/MetricExplorerComparisonType.json @@ -0,0 +1,45 @@ +{ + "anyOf": [ + { + "properties": { + "type": { + "$ref": "./MetricExplorerComparison.NONE.json" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "properties": { + "type": { + "$ref": "./MetricExplorerComparison.PREVIOUS_PERIOD.json" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "properties": { + "metricName": { + "type": "string" + }, + "metricTable": { + "type": "string" + }, + "type": { + "$ref": "./MetricExplorerComparison.DIFFERENT_METRIC.json" + } + }, + "required": [ + "metricName", + "metricTable", + "type" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricFilterRule.json b/dev/schemas/split-swagger/components/schemas/MetricFilterRule.json index 042f4f4..d0b9e1c 100644 --- a/dev/schemas/split-swagger/components/schemas/MetricFilterRule.json +++ b/dev/schemas/split-swagger/components/schemas/MetricFilterRule.json @@ -36,4 +36,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricQuery.json b/dev/schemas/split-swagger/components/schemas/MetricQuery.json index 6321bc0..9620a7e 100644 --- a/dev/schemas/split-swagger/components/schemas/MetricQuery.json +++ b/dev/schemas/split-swagger/components/schemas/MetricQuery.json @@ -71,4 +71,4 @@ "exploreName" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricQueryRequest.json b/dev/schemas/split-swagger/components/schemas/MetricQueryRequest.json index 415fee8..1d2f1cc 100644 --- a/dev/schemas/split-swagger/components/schemas/MetricQueryRequest.json +++ b/dev/schemas/split-swagger/components/schemas/MetricQueryRequest.json @@ -83,4 +83,4 @@ "exploreName" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricQueryResponse.json b/dev/schemas/split-swagger/components/schemas/MetricQueryResponse.json index 0db02a4..56b7bf6 100644 --- a/dev/schemas/split-swagger/components/schemas/MetricQueryResponse.json +++ b/dev/schemas/split-swagger/components/schemas/MetricQueryResponse.json @@ -68,4 +68,4 @@ "exploreName" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricType.json b/dev/schemas/split-swagger/components/schemas/MetricType.json index a47506d..934669b 100644 --- a/dev/schemas/split-swagger/components/schemas/MetricType.json +++ b/dev/schemas/split-swagger/components/schemas/MetricType.json @@ -15,4 +15,4 @@ "boolean" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricWithAssociatedTimeDimension.json b/dev/schemas/split-swagger/components/schemas/MetricWithAssociatedTimeDimension.json new file mode 100644 index 0000000..cfd80d4 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/MetricWithAssociatedTimeDimension.json @@ -0,0 +1,58 @@ +{ + "allOf": [ + { + "$ref": "./CompiledMetric.json" + }, + { + "properties": { + "availableTimeDimensions": { + "items": { + "allOf": [ + { + "$ref": "./CompiledDimension.json" + }, + { + "properties": { + "type": { + "anyOf": [ + { + "$ref": "./DimensionType.DATE.json" + }, + { + "$ref": "./DimensionType.TIMESTAMP.json" + } + ] + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "timeDimension": { + "allOf": [ + { + "$ref": "./DefaultTimeDimension.json" + }, + { + "properties": { + "table": { + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object" + } + ] + } + }, + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/MetricsExplorerQueryResults.json b/dev/schemas/split-swagger/components/schemas/MetricsExplorerQueryResults.json new file mode 100644 index 0000000..75e3d74 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/MetricsExplorerQueryResults.json @@ -0,0 +1,28 @@ +{ + "properties": { + "fields": { + "$ref": "./ItemsMap.json" + }, + "comparisonRows": { + "items": { + "$ref": "./ResultRow.json" + }, + "type": "array" + }, + "rows": { + "items": { + "$ref": "./ResultRow.json" + }, + "type": "array" + }, + "metric": { + "$ref": "./MetricWithAssociatedTimeDimension.json" + } + }, + "required": [ + "fields", + "rows", + "metric" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Notification.json b/dev/schemas/split-swagger/components/schemas/Notification.json index daa3346..6a6487c 100644 --- a/dev/schemas/split-swagger/components/schemas/Notification.json +++ b/dev/schemas/split-swagger/components/schemas/Notification.json @@ -1,3 +1,3 @@ { "$ref": "./NotificationDashboardComment.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/NotificationBase.json b/dev/schemas/split-swagger/components/schemas/NotificationBase.json index 3054667..e60dd46 100644 --- a/dev/schemas/split-swagger/components/schemas/NotificationBase.json +++ b/dev/schemas/split-swagger/components/schemas/NotificationBase.json @@ -26,4 +26,4 @@ "notificationId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/NotificationDashboardComment.json b/dev/schemas/split-swagger/components/schemas/NotificationDashboardComment.json index 8bce9bc..8007c6a 100644 --- a/dev/schemas/split-swagger/components/schemas/NotificationDashboardComment.json +++ b/dev/schemas/split-swagger/components/schemas/NotificationDashboardComment.json @@ -18,4 +18,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/NotificationDashboardTileCommentMetadata.json b/dev/schemas/split-swagger/components/schemas/NotificationDashboardTileCommentMetadata.json index 156d184..5d7fde2 100644 --- a/dev/schemas/split-swagger/components/schemas/NotificationDashboardTileCommentMetadata.json +++ b/dev/schemas/split-swagger/components/schemas/NotificationDashboardTileCommentMetadata.json @@ -21,4 +21,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/NotificationFrequency.json b/dev/schemas/split-swagger/components/schemas/NotificationFrequency.json index 277f515..af8a086 100644 --- a/dev/schemas/split-swagger/components/schemas/NotificationFrequency.json +++ b/dev/schemas/split-swagger/components/schemas/NotificationFrequency.json @@ -4,4 +4,4 @@ "once" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/NumberSeparator.json b/dev/schemas/split-swagger/components/schemas/NumberSeparator.json index 065c9e5..a94ba8f 100644 --- a/dev/schemas/split-swagger/components/schemas/NumberSeparator.json +++ b/dev/schemas/split-swagger/components/schemas/NumberSeparator.json @@ -7,4 +7,4 @@ "noSeparatorPeriod" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_AllowedEmailDomains.organizationUuid_.json b/dev/schemas/split-swagger/components/schemas/Omit_AllowedEmailDomains.organizationUuid_.json index 95b7c42..729fee7 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_AllowedEmailDomains.organizationUuid_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_AllowedEmailDomains.organizationUuid_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_ChartAsCode.metricQuery-or-chartConfig_.json b/dev/schemas/split-swagger/components/schemas/Omit_ChartAsCode.metricQuery-or-chartConfig_.json new file mode 100644 index 0000000..84b0a64 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Omit_ChartAsCode.metricQuery-or-chartConfig_.json @@ -0,0 +1,4 @@ +{ + "$ref": "./Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__.json", + "description": "Construct a type with the properties of T except for those in type K." +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_.json b/dev/schemas/split-swagger/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_.json index 420bd72..07eb08d 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_.json b/dev/schemas/split-swagger/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_.json index 0daae12..ca6c3b4 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_.json b/dev/schemas/split-swagger/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_.json index ba7af2f..b995aee 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_.json b/dev/schemas/split-swagger/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_.json index 5d2aade..49bbba5 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_.json b/dev/schemas/split-swagger/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_.json index ca13abd..db56be3 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_.json b/dev/schemas/split-swagger/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_.json index 4106111..3756450 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_Dashboard.isPrivate-or-access_.json b/dev/schemas/split-swagger/components/schemas/Omit_Dashboard.isPrivate-or-access_.json index 3440c21..6987b41 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_Dashboard.isPrivate-or-access_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_Dashboard.isPrivate-or-access_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_DashboardAsCode.filters-or-tiles-or-description_.json b/dev/schemas/split-swagger/components/schemas/Omit_DashboardAsCode.filters-or-tiles-or-description_.json new file mode 100644 index 0000000..7af545d --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Omit_DashboardAsCode.filters-or-tiles-or-description_.json @@ -0,0 +1,4 @@ +{ + "$ref": "./Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__.json", + "description": "Construct a type with the properties of T except for those in type K." +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_DashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid_.json b/dev/schemas/split-swagger/components/schemas/Omit_DashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid_.json new file mode 100644 index 0000000..56d536b --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Omit_DashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid_.json @@ -0,0 +1,4 @@ +{ + "$ref": "./Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__.json", + "description": "Construct a type with the properties of T except for those in type K." +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_DashboardTile.properties_.json b/dev/schemas/split-swagger/components/schemas/Omit_DashboardTile.properties_.json new file mode 100644 index 0000000..88a8891 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Omit_DashboardTile.properties_.json @@ -0,0 +1,4 @@ +{ + "$ref": "./Pick_DashboardTile.Exclude_keyofDashboardTile.properties__.json", + "description": "Construct a type with the properties of T except for those in type K." +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_SavedChart.isPrivate-or-access_.json b/dev/schemas/split-swagger/components/schemas/Omit_SavedChart.isPrivate-or-access_.json index fab0788..b6d52d6 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_SavedChart.isPrivate-or-access_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_SavedChart.isPrivate-or-access_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_SpaceSummary.userAccess_.json b/dev/schemas/split-swagger/components/schemas/Omit_SpaceSummary.userAccess_.json index 55fdc7c..b9ff6cf 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_SpaceSummary.userAccess_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_SpaceSummary.userAccess_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_UserAttributeValue.email_.json b/dev/schemas/split-swagger/components/schemas/Omit_UserAttributeValue.email_.json index ad3ec3d..ebea84f 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_UserAttributeValue.email_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_UserAttributeValue.email_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Omit_ValidationResponseBase.name_.json b/dev/schemas/split-swagger/components/schemas/Omit_ValidationResponseBase.name_.json index 56aabec..996968f 100644 --- a/dev/schemas/split-swagger/components/schemas/Omit_ValidationResponseBase.name_.json +++ b/dev/schemas/split-swagger/components/schemas/Omit_ValidationResponseBase.name_.json @@ -1,4 +1,4 @@ { "$ref": "./Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__.json", "description": "Construct a type with the properties of T except for those in type K." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OpenIdIdentityIssuerType.json b/dev/schemas/split-swagger/components/schemas/OpenIdIdentityIssuerType.json index 639ed12..cad2c83 100644 --- a/dev/schemas/split-swagger/components/schemas/OpenIdIdentityIssuerType.json +++ b/dev/schemas/split-swagger/components/schemas/OpenIdIdentityIssuerType.json @@ -7,4 +7,4 @@ "oidc" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrFilterGroup.json b/dev/schemas/split-swagger/components/schemas/OrFilterGroup.json index 6d2ea02..824ea90 100644 --- a/dev/schemas/split-swagger/components/schemas/OrFilterGroup.json +++ b/dev/schemas/split-swagger/components/schemas/OrFilterGroup.json @@ -15,4 +15,4 @@ "id" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrderFieldsByStrategy.json b/dev/schemas/split-swagger/components/schemas/OrderFieldsByStrategy.json index 6b2ab56..8fef711 100644 --- a/dev/schemas/split-swagger/components/schemas/OrderFieldsByStrategy.json +++ b/dev/schemas/split-swagger/components/schemas/OrderFieldsByStrategy.json @@ -4,4 +4,4 @@ "INDEX" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Organization.json b/dev/schemas/split-swagger/components/schemas/Organization.json index 29dcaa8..f5ec385 100644 --- a/dev/schemas/split-swagger/components/schemas/Organization.json +++ b/dev/schemas/split-swagger/components/schemas/Organization.json @@ -31,4 +31,4 @@ ], "type": "object", "description": "Details of a user's Organization" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfile.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfile.json index 08beae0..c22cc2d 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfile.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfile.json @@ -1,12 +1,16 @@ { "properties": { + "isPending": { + "type": "boolean", + "description": "Whether the user doesn't have an authentication method (password or openId)" + }, "isInviteExpired": { "type": "boolean", "description": "Whether the user's invite to the organization has expired" }, "isActive": { "type": "boolean", - "description": "Whether the user has accepted their invite to the organization" + "description": "Whether the user can login" }, "role": { "$ref": "./OrganizationMemberRole.json", @@ -25,6 +29,14 @@ "firstName": { "type": "string" }, + "userUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "userCreatedAt": { + "type": "string", + "format": "date-time" + }, "userUuid": { "type": "string", "description": "Unique identifier for the user", @@ -38,8 +50,10 @@ "email", "lastName", "firstName", + "userUpdatedAt", + "userCreatedAt", "userUuid" ], "type": "object", "description": "Profile for a user's membership in an organization" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfileUpdate.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfileUpdate.json index 283358f..d522800 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfileUpdate.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberProfileUpdate.json @@ -8,4 +8,4 @@ "role" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.EDITOR.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.EDITOR.json index c6e975c..4a660cf 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.EDITOR.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.EDITOR.json @@ -3,4 +3,4 @@ "editor" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER.json index b5b4064..ee674b8 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER.json @@ -3,4 +3,4 @@ "interactive_viewer" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.MEMBER.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.MEMBER.json index 628a216..d9afc74 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.MEMBER.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.MEMBER.json @@ -3,4 +3,4 @@ "member" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.VIEWER.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.VIEWER.json index 6185049..0a2ab43 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.VIEWER.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.VIEWER.json @@ -3,4 +3,4 @@ "viewer" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.json b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.json index f085600..efcf9ef 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationMemberRole.json @@ -8,4 +8,4 @@ "admin" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/OrganizationProject.json b/dev/schemas/split-swagger/components/schemas/OrganizationProject.json index 487ea74..d2cff90 100644 --- a/dev/schemas/split-swagger/components/schemas/OrganizationProject.json +++ b/dev/schemas/split-swagger/components/schemas/OrganizationProject.json @@ -6,6 +6,14 @@ "warehouseType": { "$ref": "./WarehouseTypes.json" }, + "upstreamProjectUuid": { + "type": "string", + "nullable": true + }, + "createdByUserUuid": { + "type": "string", + "nullable": true + }, "type": { "$ref": "./ProjectType.json" }, @@ -21,10 +29,12 @@ "required": [ "requireUserCredentials", "warehouseType", + "upstreamProjectUuid", + "createdByUserUuid", "type", "name", "projectUuid" ], "type": "object", "description": "Summary of a project under an organization" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_CompleteCartesianChartLayout_.json b/dev/schemas/split-swagger/components/schemas/Partial_CompleteCartesianChartLayout_.json index c85d7cf..2044dd5 100644 --- a/dev/schemas/split-swagger/components/schemas/Partial_CompleteCartesianChartLayout_.json +++ b/dev/schemas/split-swagger/components/schemas/Partial_CompleteCartesianChartLayout_.json @@ -21,4 +21,4 @@ }, "type": "object", "description": "Make all properties in T optional" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_CompleteEChartsConfig_.json b/dev/schemas/split-swagger/components/schemas/Partial_CompleteEChartsConfig_.json index 328f61a..0d64a08 100644 --- a/dev/schemas/split-swagger/components/schemas/Partial_CompleteEChartsConfig_.json +++ b/dev/schemas/split-swagger/components/schemas/Partial_CompleteEChartsConfig_.json @@ -27,4 +27,4 @@ }, "type": "object", "description": "Make all properties in T optional" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_CubeSemanticLayerConnection_.json b/dev/schemas/split-swagger/components/schemas/Partial_CubeSemanticLayerConnection_.json new file mode 100644 index 0000000..b6064e7 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Partial_CubeSemanticLayerConnection_.json @@ -0,0 +1,15 @@ +{ + "properties": { + "type": { + "$ref": "./SemanticLayerType.CUBE.json" + }, + "domain": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_DbtSemanticLayerConnection_.json b/dev/schemas/split-swagger/components/schemas/Partial_DbtSemanticLayerConnection_.json new file mode 100644 index 0000000..9fa5dec --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Partial_DbtSemanticLayerConnection_.json @@ -0,0 +1,18 @@ +{ + "properties": { + "type": { + "$ref": "./SemanticLayerType.DBT.json" + }, + "environmentId": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__.json b/dev/schemas/split-swagger/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__.json index 46cc645..5307d1b 100644 --- a/dev/schemas/split-swagger/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__.json +++ b/dev/schemas/split-swagger/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__.json @@ -18,4 +18,4 @@ }, "type": "object", "description": "Make all properties in T optional" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_Pick_DbTag.name-or-color__.json b/dev/schemas/split-swagger/components/schemas/Partial_Pick_DbTag.name-or-color__.json new file mode 100644 index 0000000..c51e654 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Partial_Pick_DbTag.name-or-color__.json @@ -0,0 +1,12 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "color": { + "type": "string" + } + }, + "type": "object", + "description": "Make all properties in T optional" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Partial_SummaryExtraFields_.json b/dev/schemas/split-swagger/components/schemas/Partial_SummaryExtraFields_.json index d687ad2..5bec4a9 100644 --- a/dev/schemas/split-swagger/components/schemas/Partial_SummaryExtraFields_.json +++ b/dev/schemas/split-swagger/components/schemas/Partial_SummaryExtraFields_.json @@ -12,4 +12,4 @@ }, "type": "object", "description": "Make all properties in T optional" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PartitionColumn.json b/dev/schemas/split-swagger/components/schemas/PartitionColumn.json index b418f9f..832608c 100644 --- a/dev/schemas/split-swagger/components/schemas/PartitionColumn.json +++ b/dev/schemas/split-swagger/components/schemas/PartitionColumn.json @@ -12,4 +12,4 @@ "partitionType" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PartitionType.json b/dev/schemas/split-swagger/components/schemas/PartitionType.json index da1367e..200d476 100644 --- a/dev/schemas/split-swagger/components/schemas/PartitionType.json +++ b/dev/schemas/split-swagger/components/schemas/PartitionType.json @@ -4,4 +4,4 @@ "RANGE" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PersonalAccessToken.json b/dev/schemas/split-swagger/components/schemas/PersonalAccessToken.json new file mode 100644 index 0000000..f3ea5c1 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/PersonalAccessToken.json @@ -0,0 +1,38 @@ +{ + "properties": { + "description": { + "type": "string" + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "rotatedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastUsedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "uuid": { + "type": "string" + } + }, + "required": [ + "description", + "expiresAt", + "rotatedAt", + "lastUsedAt", + "createdAt", + "uuid" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PersonalAccessTokenWithToken.json b/dev/schemas/split-swagger/components/schemas/PersonalAccessTokenWithToken.json new file mode 100644 index 0000000..ae2e1ca --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/PersonalAccessTokenWithToken.json @@ -0,0 +1,18 @@ +{ + "allOf": [ + { + "$ref": "./PersonalAccessToken.json" + }, + { + "properties": { + "token": { + "type": "string" + } + }, + "required": [ + "token" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__.json b/dev/schemas/split-swagger/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__.json index c5ca16e..31c64af 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__.json @@ -35,4 +35,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_.json b/dev/schemas/split-swagger/components/schemas/Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_.json new file mode 100644 index 0000000..74cab92 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_.json @@ -0,0 +1,20 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "catalogSearchUuid": { + "type": "string" + }, + "tableName": { + "type": "string" + } + }, + "required": [ + "name", + "catalogSearchUuid", + "tableName" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__.json b/dev/schemas/split-swagger/components/schemas/Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__.json new file mode 100644 index 0000000..d3791a4 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__.json @@ -0,0 +1,61 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "columnOrder" + ], + "type": "object" + }, + "version": { + "type": "number", + "format": "double" + }, + "spaceSlug": { + "type": "string" + }, + "downloadedAt": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "name", + "dashboardUuid", + "slug", + "tableName", + "updatedAt", + "tableConfig", + "version", + "spaceSlug" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_.json b/dev/schemas/split-swagger/components/schemas/Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_.json index 893513f..98dc0c6 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ChartSummary.uuid-or-name-or-spaceUuid-or-spaceName-or-dashboardName-or-dashboardUuid-or-chartKind_.json @@ -34,4 +34,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_.json b/dev/schemas/split-swagger/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_.json index f31d425..233bdef 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_.json @@ -27,4 +27,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_.json b/dev/schemas/split-swagger/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_.json index 817635f..559ed5c 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_.json @@ -23,4 +23,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CompiledDimension.label-or-name_.json b/dev/schemas/split-swagger/components/schemas/Pick_CompiledDimension.label-or-name_.json index 0baa440..0b169a8 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CompiledDimension.label-or-name_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CompiledDimension.label-or-name_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__.json index 5c41a5d..21a3861 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__.json @@ -57,4 +57,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type-or-keyfileContents_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type-or-keyfileContents_.json index c640773..e63b005 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type-or-keyfileContents_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type-or-keyfileContents_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type_.json index 44c53d0..8d691f4 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateBigqueryCredentials.type_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateDBProjectGroupAccess.role_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateDBProjectGroupAccess.role_.json index 6cf3ea2..1064aeb 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateDBProjectGroupAccess.role_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateDBProjectGroupAccess.role_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__.json index 558263a..0abaae1 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__.json @@ -35,4 +35,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type-or-personalAccessToken_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type-or-personalAccessToken_.json index 47ac85d..f22cc6d 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type-or-personalAccessToken_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type-or-personalAccessToken_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type_.json index b879bb8..130593e 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateDatabricksCredentials.type_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__.json b/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__.json index a7536dd..ce8466d 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__.json @@ -70,4 +70,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.type-or-user-or-password_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.type-or-user-or-password_.json index 38b2c41..c945aae 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.type-or-user-or-password_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreatePostgresCredentials.type-or-user-or-password_.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_.json index bfe636f..824d439 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__.json index 54b9d7e..8e12044 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__.json @@ -67,4 +67,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.type-or-user-or-password_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.type-or-user-or-password_.json index 90f363d..d649c92 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.type-or-user-or-password_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateRedshiftCredentials.type-or-user-or-password_.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__.json index 4140c9c..64992a2 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__.json @@ -58,4 +58,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.type-or-user-or-password_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.type-or-user-or-password_.json index d65caf9..1ced4be 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.type-or-user-or-password_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateSnowflakeCredentials.type-or-user-or-password_.json @@ -16,4 +16,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__.json index f8513cc..837f69f 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__.json @@ -41,4 +41,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.type-or-user-or-password_.json b/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.type-or-user-or-password_.json index 0ba6607..3b4b0ff 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.type-or-user-or-password_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_CreateTrinoCredentials.type-or-user-or-password_.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_DBProjectGroupAccess.role_.json b/dev/schemas/split-swagger/components/schemas/Pick_DBProjectGroupAccess.role_.json index 6cf3ea2..1064aeb 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_DBProjectGroupAccess.role_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_DBProjectGroupAccess.role_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__.json b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__.json index 8e6b9ee..8aaaf16 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__.json @@ -96,4 +96,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_.json b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_.json new file mode 100644 index 0000000..1bb304b --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_.json @@ -0,0 +1,35 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "filters": { + "$ref": "./DashboardFilters.json" + }, + "tabs": { + "items": { + "$ref": "./DashboardTab.json" + }, + "type": "array" + } + }, + "required": [ + "name", + "slug", + "updatedAt", + "filters", + "tabs" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_.json new file mode 100644 index 0000000..44d67d6 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_.json @@ -0,0 +1,23 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + } + }, + "required": [ + "name", + "uuid", + "spaceUuid" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_.json b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_.json index 4a57c72..72d3947 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_.json @@ -65,4 +65,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name_.json b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name_.json index 126fdf9..402193b 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Dashboard.uuid-or-name_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__.json b/dev/schemas/split-swagger/components/schemas/Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__.json new file mode 100644 index 0000000..0cde8d4 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__.json @@ -0,0 +1,41 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "tabs": { + "items": { + "$ref": "./DashboardTab.json" + }, + "type": "array" + }, + "version": { + "type": "number", + "format": "double" + }, + "spaceSlug": { + "type": "string" + }, + "downloadedAt": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "name", + "slug", + "updatedAt", + "tabs", + "version", + "spaceSlug" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_.json b/dev/schemas/split-swagger/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_.json index 4e8d274..2b4d1df 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_.json @@ -63,4 +63,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__.json b/dev/schemas/split-swagger/components/schemas/Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__.json new file mode 100644 index 0000000..1d6ff86 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__.json @@ -0,0 +1,9 @@ +{ + "properties": { + "title": { + "type": "string" + } + }, + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_DashboardTile.Exclude_keyofDashboardTile.properties__.json b/dev/schemas/split-swagger/components/schemas/Pick_DashboardTile.Exclude_keyofDashboardTile.properties__.json new file mode 100644 index 0000000..fa4ec88 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_DashboardTile.Exclude_keyofDashboardTile.properties__.json @@ -0,0 +1,38 @@ +{ + "properties": { + "type": { + "$ref": "./DashboardTileTypes.json" + }, + "uuid": { + "type": "string" + }, + "x": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "h": { + "type": "number", + "format": "double" + }, + "w": { + "type": "number", + "format": "double" + }, + "tabUuid": { + "type": "string" + } + }, + "required": [ + "type", + "x", + "y", + "h", + "w" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Dimension.requiredAttributes_.json b/dev/schemas/split-swagger/components/schemas/Pick_Dimension.requiredAttributes_.json index 2e50a00..6a954f5 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Dimension.requiredAttributes_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Dimension.requiredAttributes_.json @@ -6,4 +6,4 @@ }, "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Explore.SummaryExploreFields_.json b/dev/schemas/split-swagger/components/schemas/Pick_Explore.SummaryExploreFields_.json index 000c9ac..e9f4620 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Explore.SummaryExploreFields_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Explore.SummaryExploreFields_.json @@ -9,6 +9,9 @@ "groupLabel": { "type": "string" }, + "type": { + "$ref": "./ExploreType.json" + }, "tags": { "items": { "type": "string" @@ -23,4 +26,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Explore.name_.json b/dev/schemas/split-swagger/components/schemas/Pick_Explore.name_.json index 32818d2..ed2006d 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Explore.name_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Explore.name_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_.json b/dev/schemas/split-swagger/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_.json index 880e3d8..6f9e927 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_.json @@ -9,6 +9,9 @@ "groupLabel": { "type": "string" }, + "type": { + "$ref": "./ExploreType.json" + }, "tags": { "items": { "type": "string" @@ -30,4 +33,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_.json b/dev/schemas/split-swagger/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_.json index c01dafc..8c4cda1 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ExploreJoin.table-or-sqlOn-or-type-or-hidden-or-always_.json @@ -22,4 +22,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_.json b/dev/schemas/split-swagger/components/schemas/Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_.json index f8b8eb4..b852a48 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Field.name-or-label-or-fieldType-or-tableLabel-or-description_.json @@ -24,4 +24,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Group.name_.json b/dev/schemas/split-swagger/components/schemas/Pick_Group.name_.json index d4cce6b..c8baf58 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Group.name_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Group.name_.json @@ -10,4 +10,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_GroupMember.userUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_GroupMember.userUuid_.json index ab01d97..6e05e75 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_GroupMember.userUuid_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_GroupMember.userUuid_.json @@ -11,4 +11,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_.json b/dev/schemas/split-swagger/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_.json index 08f5f52..320a9c1 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Notification.viewed_.json b/dev/schemas/split-swagger/components/schemas/Pick_Notification.viewed_.json index 545ed8f..0e28e1b 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Notification.viewed_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Notification.viewed_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Organization.name_.json b/dev/schemas/split-swagger/components/schemas/Pick_Organization.name_.json index 0557594..d73ef49 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Organization.name_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Organization.name_.json @@ -10,4 +10,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Organization.organizationUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_Organization.organizationUuid_.json index 0ea0585..c059bfa 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Organization.organizationUuid_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Organization.organizationUuid_.json @@ -11,4 +11,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Project.projectUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_Project.projectUuid_.json index 204587a..e160dec 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Project.projectUuid_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Project.projectUuid_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_.json b/dev/schemas/split-swagger/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_.json index 73260da..8628ca0 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_.json @@ -15,4 +15,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__.json b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__.json index 716f06d..c8a4104 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__.json @@ -36,6 +36,9 @@ "slug": { "type": "string" }, + "tableName": { + "type": "string" + }, "updatedAt": { "type": "string", "format": "date-time" @@ -48,9 +51,6 @@ "format": "double", "nullable": true }, - "tableName": { - "type": "string" - }, "metricQuery": { "$ref": "./MetricQuery.json" }, @@ -103,9 +103,9 @@ "dashboardUuid", "dashboardName", "slug", + "tableName", "updatedAt", "pinnedListOrder", - "tableName", "metricQuery", "chartConfig", "tableConfig", @@ -113,4 +113,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_.json b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_.json new file mode 100644 index 0000000..fbc6d86 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_.json @@ -0,0 +1,56 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "metricQuery": { + "$ref": "./MetricQuery.json" + }, + "chartConfig": { + "$ref": "./ChartConfig.json" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "columnOrder" + ], + "type": "object" + } + }, + "required": [ + "name", + "dashboardUuid", + "slug", + "tableName", + "updatedAt", + "metricQuery", + "chartConfig", + "tableConfig" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_.json b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_.json index 57d0523..1b450a8 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_.json @@ -19,4 +19,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_.json b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_.json index d9c6dda..539d63f 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_.json @@ -51,4 +51,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-aggType_.json b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-aggType_.json new file mode 100644 index 0000000..05c479c --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-aggType_.json @@ -0,0 +1,15 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "aggType": { + "$ref": "./VizAggregationOptions.json" + } + }, + "required": [ + "name" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-kind_.json b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-kind_.json index 45f06f4..c754797 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-kind_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name-or-kind_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name_.json b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name_.json index 32818d2..ed2006d 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerField.name_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerQuery.dimensions-or-timeDimensions-or-metrics_.json b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerQuery.dimensions-or-timeDimensions-or-metrics_.json index f80a0ad..a140779 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerQuery.dimensions-or-timeDimensions-or-metrics_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerQuery.dimensions-or-timeDimensions-or-metrics_.json @@ -26,4 +26,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_.json b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_.json index c49e3a7..a6514eb 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_.json @@ -12,4 +12,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ShareUrl.path-or-params_.json b/dev/schemas/split-swagger/components/schemas/Pick_ShareUrl.path-or-params_.json index 2fcfc7b..b31dc93 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ShareUrl.path-or-params_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ShareUrl.path-or-params_.json @@ -14,4 +14,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_.json b/dev/schemas/split-swagger/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_.json index 9a9d85c..854b856 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_.json @@ -40,4 +40,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_.json index 3bf221c..f194a2d 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_.json @@ -36,4 +36,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_.json b/dev/schemas/split-swagger/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_.json index 7baf789..1641bbb 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_.json @@ -73,4 +73,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SpaceShare.userUuid-or-role_.json b/dev/schemas/split-swagger/components/schemas/Pick_SpaceShare.userUuid-or-role_.json index e44cf68..67b3be4 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SpaceShare.userUuid-or-role_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SpaceShare.userUuid-or-role_.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__.json b/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__.json index 301284f..cf44721 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__.json @@ -57,4 +57,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_.json b/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_.json index 5bea93c..8090bd3 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_.json @@ -20,4 +20,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_SshKeyPair.publicKey_.json b/dev/schemas/split-swagger/components/schemas/Pick_SshKeyPair.publicKey_.json index ec14a08..aa16b76 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_SshKeyPair.publicKey_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_SshKeyPair.publicKey_.json @@ -9,4 +9,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_.json b/dev/schemas/split-swagger/components/schemas/Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_.json index 4de492f..c5b5fb0 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_TableBase.name-or-label-or-groupLabel-or-description-or-requiredAttributes_.json @@ -22,4 +22,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Tag.name-or-color-or-tagUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_Tag.name-or-color-or-tagUuid_.json new file mode 100644 index 0000000..5b8bd39 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_Tag.name-or-color-or-tagUuid_.json @@ -0,0 +1,20 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "color": { + "type": "string" + }, + "tagUuid": { + "type": "string" + } + }, + "required": [ + "name", + "color", + "tagUuid" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_Tag.name-or-color_.json b/dev/schemas/split-swagger/components/schemas/Pick_Tag.name-or-color_.json new file mode 100644 index 0000000..4df9b39 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_Tag.name-or-color_.json @@ -0,0 +1,16 @@ +{ + "properties": { + "name": { + "type": "string" + }, + "color": { + "type": "string" + } + }, + "required": [ + "name", + "color" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_UpdatedByUser.userUuid_.json b/dev/schemas/split-swagger/components/schemas/Pick_UpdatedByUser.userUuid_.json new file mode 100644 index 0000000..2105e82 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Pick_UpdatedByUser.userUuid_.json @@ -0,0 +1,12 @@ +{ + "properties": { + "userUuid": { + "type": "string" + } + }, + "required": [ + "userUuid" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_.json b/dev/schemas/split-swagger/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_.json index 5b97322..602aa87 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_.json @@ -17,4 +17,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__.json b/dev/schemas/split-swagger/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__.json index 1804f49..25b44ab 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__.json @@ -13,4 +13,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_.json b/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_.json index 49e14e6..935a800 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_.json @@ -19,4 +19,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__.json b/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__.json index 25e5d48..cc24f7f 100644 --- a/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__.json +++ b/dev/schemas/split-swagger/components/schemas/Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__.json @@ -33,4 +33,4 @@ ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PieChart.json b/dev/schemas/split-swagger/components/schemas/PieChart.json index 9940568..5c09f42 100644 --- a/dev/schemas/split-swagger/components/schemas/PieChart.json +++ b/dev/schemas/split-swagger/components/schemas/PieChart.json @@ -47,4 +47,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PieChartConfig.json b/dev/schemas/split-swagger/components/schemas/PieChartConfig.json index 277d461..c7eb121 100644 --- a/dev/schemas/split-swagger/components/schemas/PieChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/PieChartConfig.json @@ -11,4 +11,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PieChartLegendPosition.json b/dev/schemas/split-swagger/components/schemas/PieChartLegendPosition.json index 641f397..0293cbc 100644 --- a/dev/schemas/split-swagger/components/schemas/PieChartLegendPosition.json +++ b/dev/schemas/split-swagger/components/schemas/PieChartLegendPosition.json @@ -5,4 +5,4 @@ "vertical" ], "nullable": false -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PieChartValueLabel.json b/dev/schemas/split-swagger/components/schemas/PieChartValueLabel.json index f46b721..a3d3327 100644 --- a/dev/schemas/split-swagger/components/schemas/PieChartValueLabel.json +++ b/dev/schemas/split-swagger/components/schemas/PieChartValueLabel.json @@ -6,4 +6,4 @@ "outside" ], "nullable": false -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PinnedItems.json b/dev/schemas/split-swagger/components/schemas/PinnedItems.json index 1be68f7..6b2b89b 100644 --- a/dev/schemas/split-swagger/components/schemas/PinnedItems.json +++ b/dev/schemas/split-swagger/components/schemas/PinnedItems.json @@ -13,4 +13,4 @@ ] }, "type": "array" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizChartLayout.json b/dev/schemas/split-swagger/components/schemas/PivotChartLayout.json similarity index 97% rename from dev/schemas/split-swagger/components/schemas/VizChartLayout.json rename to dev/schemas/split-swagger/components/schemas/PivotChartLayout.json index 0bef492..d57432e 100644 --- a/dev/schemas/split-swagger/components/schemas/VizChartLayout.json +++ b/dev/schemas/split-swagger/components/schemas/PivotChartLayout.json @@ -31,6 +31,7 @@ } }, "required": [ + "aggregation", "reference" ], "type": "object" @@ -57,4 +58,4 @@ "y" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PivotIndexColum.json b/dev/schemas/split-swagger/components/schemas/PivotIndexColum.json index 7651be6..2767f4d 100644 --- a/dev/schemas/split-swagger/components/schemas/PivotIndexColum.json +++ b/dev/schemas/split-swagger/components/schemas/PivotIndexColum.json @@ -12,4 +12,4 @@ "reference" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PivotReference.json b/dev/schemas/split-swagger/components/schemas/PivotReference.json index e6fd4d3..f697a62 100644 --- a/dev/schemas/split-swagger/components/schemas/PivotReference.json +++ b/dev/schemas/split-swagger/components/schemas/PivotReference.json @@ -14,4 +14,4 @@ "field" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PivotValue.json b/dev/schemas/split-swagger/components/schemas/PivotValue.json index 73cc03e..61e3d8d 100644 --- a/dev/schemas/split-swagger/components/schemas/PivotValue.json +++ b/dev/schemas/split-swagger/components/schemas/PivotValue.json @@ -10,4 +10,4 @@ "field" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PostgresCredentials.json b/dev/schemas/split-swagger/components/schemas/PostgresCredentials.json index 202d328..f011dbb 100644 --- a/dev/schemas/split-swagger/components/schemas/PostgresCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/PostgresCredentials.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Project.json b/dev/schemas/split-swagger/components/schemas/Project.json index 82dc07c..3f729f3 100644 --- a/dev/schemas/split-swagger/components/schemas/Project.json +++ b/dev/schemas/split-swagger/components/schemas/Project.json @@ -1,5 +1,12 @@ { "properties": { + "createdByUserUuid": { + "type": "string", + "nullable": true + }, + "schedulerTimezone": { + "type": "string" + }, "semanticLayerConnection": { "$ref": "./SemanticLayerConnection.json" }, @@ -32,6 +39,8 @@ } }, "required": [ + "createdByUserUuid", + "schedulerTimezone", "dbtVersion", "dbtConnection", "type", @@ -40,4 +49,4 @@ "organizationUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectGroupAccess.json b/dev/schemas/split-swagger/components/schemas/ProjectGroupAccess.json index ab70766..e4b9e16 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectGroupAccess.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectGroupAccess.json @@ -16,4 +16,4 @@ "projectUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectMemberProfile.json b/dev/schemas/split-swagger/components/schemas/ProjectMemberProfile.json index 24f8cd7..7d6a761 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectMemberProfile.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectMemberProfile.json @@ -28,4 +28,4 @@ "userUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.EDITOR.json b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.EDITOR.json index c6e975c..4a660cf 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.EDITOR.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.EDITOR.json @@ -3,4 +3,4 @@ "editor" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER.json b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER.json index b5b4064..ee674b8 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER.json @@ -3,4 +3,4 @@ "interactive_viewer" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.VIEWER.json b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.VIEWER.json index 6185049..0a2ab43 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.VIEWER.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.VIEWER.json @@ -3,4 +3,4 @@ "viewer" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.json b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.json index 9d2d7c4..123f16f 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectMemberRole.json @@ -7,4 +7,4 @@ "admin" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ProjectType.json b/dev/schemas/split-swagger/components/schemas/ProjectType.json index d03da35..1da507b 100644 --- a/dev/schemas/split-swagger/components/schemas/ProjectType.json +++ b/dev/schemas/split-swagger/components/schemas/ProjectType.json @@ -4,4 +4,4 @@ "PREVIEW" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PromotedChart.json b/dev/schemas/split-swagger/components/schemas/PromotedChart.json index 8ba01dd..d6a7fd2 100644 --- a/dev/schemas/split-swagger/components/schemas/PromotedChart.json +++ b/dev/schemas/split-swagger/components/schemas/PromotedChart.json @@ -19,4 +19,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PromotedDashboard.json b/dev/schemas/split-swagger/components/schemas/PromotedDashboard.json index 6de82bc..f8bec79 100644 --- a/dev/schemas/split-swagger/components/schemas/PromotedDashboard.json +++ b/dev/schemas/split-swagger/components/schemas/PromotedDashboard.json @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PromotedSpace.json b/dev/schemas/split-swagger/components/schemas/PromotedSpace.json index c7c70f9..67ed14a 100644 --- a/dev/schemas/split-swagger/components/schemas/PromotedSpace.json +++ b/dev/schemas/split-swagger/components/schemas/PromotedSpace.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_SpaceSummary.userAccess_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PromotionAction.json b/dev/schemas/split-swagger/components/schemas/PromotionAction.json index d488bd3..1c61d0a 100644 --- a/dev/schemas/split-swagger/components/schemas/PromotionAction.json +++ b/dev/schemas/split-swagger/components/schemas/PromotionAction.json @@ -6,4 +6,4 @@ "delete" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PromotionChanges.json b/dev/schemas/split-swagger/components/schemas/PromotionChanges.json index 6c63fa8..b1c6917 100644 --- a/dev/schemas/split-swagger/components/schemas/PromotionChanges.json +++ b/dev/schemas/split-swagger/components/schemas/PromotionChanges.json @@ -61,4 +61,4 @@ "spaces" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/PullRequestCreated.json b/dev/schemas/split-swagger/components/schemas/PullRequestCreated.json index d2049a9..3a150d3 100644 --- a/dev/schemas/split-swagger/components/schemas/PullRequestCreated.json +++ b/dev/schemas/split-swagger/components/schemas/PullRequestCreated.json @@ -12,4 +12,4 @@ "prTitle" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.ColumnProperties_.json b/dev/schemas/split-swagger/components/schemas/Record_string.ColumnProperties_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.ColumnProperties_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.ColumnProperties_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.CompiledDimension_.json b/dev/schemas/split-swagger/components/schemas/Record_string.CompiledDimension_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.CompiledDimension_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.CompiledDimension_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.CompiledMetric_.json b/dev/schemas/split-swagger/components/schemas/Record_string.CompiledMetric_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.CompiledMetric_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.CompiledMetric_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.DashboardTileTarget_.json b/dev/schemas/split-swagger/components/schemas/Record_string.DashboardTileTarget_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.DashboardTileTarget_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.DashboardTileTarget_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.DbtExposure_.json b/dev/schemas/split-swagger/components/schemas/Record_string.DbtExposure_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.DbtExposure_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.DbtExposure_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_.json b/dev/schemas/split-swagger/components/schemas/Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_.json new file mode 100644 index 0000000..eebb059 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_.json @@ -0,0 +1,5 @@ +{ + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.GroupType_.json b/dev/schemas/split-swagger/components/schemas/Record_string.GroupType_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.GroupType_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.GroupType_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.Item-or-AdditionalMetric_.json b/dev/schemas/split-swagger/components/schemas/Record_string.Item-or-AdditionalMetric_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.Item-or-AdditionalMetric_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.Item-or-AdditionalMetric_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.LineageNodeDependency-Array_.json b/dev/schemas/split-swagger/components/schemas/Record_string.LineageNodeDependency-Array_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.LineageNodeDependency-Array_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.LineageNodeDependency-Array_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.Partial_PieChartValueOptions__.json b/dev/schemas/split-swagger/components/schemas/Record_string.Partial_PieChartValueOptions__.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.Partial_PieChartValueOptions__.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.Partial_PieChartValueOptions__.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.Record_string.string-or-string-Array__.json b/dev/schemas/split-swagger/components/schemas/Record_string.Record_string.string-or-string-Array__.json new file mode 100644 index 0000000..eebb059 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Record_string.Record_string.string-or-string-Array__.json @@ -0,0 +1,5 @@ +{ + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.SeriesMetadata_.json b/dev/schemas/split-swagger/components/schemas/Record_string.SeriesMetadata_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.SeriesMetadata_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.SeriesMetadata_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string._type-DimensionType--__.json b/dev/schemas/split-swagger/components/schemas/Record_string._type-DimensionType--__.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string._type-DimensionType--__.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string._type-DimensionType--__.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string._value-ResultValue--__.json b/dev/schemas/split-swagger/components/schemas/Record_string._value-ResultValue--__.json new file mode 100644 index 0000000..eebb059 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Record_string._value-ResultValue--__.json @@ -0,0 +1,5 @@ +{ + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.any_.json b/dev/schemas/split-swagger/components/schemas/Record_string.any_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.any_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.any_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.number_.json b/dev/schemas/split-swagger/components/schemas/Record_string.number_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.number_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.number_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.string-or-string-Array_.json b/dev/schemas/split-swagger/components/schemas/Record_string.string-or-string-Array_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.string-or-string-Array_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.string-or-string-Array_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.string_.json b/dev/schemas/split-swagger/components/schemas/Record_string.string_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.string_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.string_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Record_string.unknown_.json b/dev/schemas/split-swagger/components/schemas/Record_string.unknown_.json index 63ecfbb..eebb059 100644 --- a/dev/schemas/split-swagger/components/schemas/Record_string.unknown_.json +++ b/dev/schemas/split-swagger/components/schemas/Record_string.unknown_.json @@ -2,4 +2,4 @@ "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/RedshiftCredentials.json b/dev/schemas/split-swagger/components/schemas/RedshiftCredentials.json index 32fdd94..3a797d4 100644 --- a/dev/schemas/split-swagger/components/schemas/RedshiftCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/RedshiftCredentials.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/RegisterOrActivateUser.json b/dev/schemas/split-swagger/components/schemas/RegisterOrActivateUser.json index 554d181..9b9a86b 100644 --- a/dev/schemas/split-swagger/components/schemas/RegisterOrActivateUser.json +++ b/dev/schemas/split-swagger/components/schemas/RegisterOrActivateUser.json @@ -7,4 +7,4 @@ "$ref": "./CreateUserArgs.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Required_CreateDashboardTileBase_.json b/dev/schemas/split-swagger/components/schemas/Required_CreateDashboardTileBase_.json index 52efafc..5ed39a5 100644 --- a/dev/schemas/split-swagger/components/schemas/Required_CreateDashboardTileBase_.json +++ b/dev/schemas/split-swagger/components/schemas/Required_CreateDashboardTileBase_.json @@ -36,4 +36,4 @@ ], "type": "object", "description": "Make all properties in T required" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceItemCategory.json b/dev/schemas/split-swagger/components/schemas/ResourceItemCategory.json index 9c9d483..9c34b0f 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceItemCategory.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceItemCategory.json @@ -5,4 +5,4 @@ "pinned" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewChartItem.json b/dev/schemas/split-swagger/components/schemas/ResourceViewChartItem.json index 9c318d7..06fd884 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewChartItem.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewChartItem.json @@ -27,4 +27,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewDashboardItem.json b/dev/schemas/split-swagger/components/schemas/ResourceViewDashboardItem.json index 38cd3be..73d91a9 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewDashboardItem.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewDashboardItem.json @@ -15,4 +15,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.CHART.json b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.CHART.json index bcb695b..c3bfa4a 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.CHART.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.CHART.json @@ -3,4 +3,4 @@ "chart" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.DASHBOARD.json b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.DASHBOARD.json index 44fb346..1102d3b 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.DASHBOARD.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.DASHBOARD.json @@ -3,4 +3,4 @@ "dashboard" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.SPACE.json b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.SPACE.json index 956ccdf..753fc74 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.SPACE.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.SPACE.json @@ -3,4 +3,4 @@ "space" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.json b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.json index 623e960..39cc1c3 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewItemType.json @@ -5,4 +5,4 @@ "space" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResourceViewSpaceItem.json b/dev/schemas/split-swagger/components/schemas/ResourceViewSpaceItem.json index 264e929..60d33e2 100644 --- a/dev/schemas/split-swagger/components/schemas/ResourceViewSpaceItem.json +++ b/dev/schemas/split-swagger/components/schemas/ResourceViewSpaceItem.json @@ -45,4 +45,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ResultRow.json b/dev/schemas/split-swagger/components/schemas/ResultRow.json new file mode 100644 index 0000000..a12b9c9 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ResultRow.json @@ -0,0 +1,3 @@ +{ + "$ref": "./Record_string._value-ResultValue--__.json" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SavedChart.json b/dev/schemas/split-swagger/components/schemas/SavedChart.json index cdc8dcc..ddcbd0f 100644 --- a/dev/schemas/split-swagger/components/schemas/SavedChart.json +++ b/dev/schemas/split-swagger/components/schemas/SavedChart.json @@ -123,4 +123,4 @@ "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SavedChartDAO.json b/dev/schemas/split-swagger/components/schemas/SavedChartDAO.json index 7f26da7..32211b8 100644 --- a/dev/schemas/split-swagger/components/schemas/SavedChartDAO.json +++ b/dev/schemas/split-swagger/components/schemas/SavedChartDAO.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_SavedChart.isPrivate-or-access_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SavedSemanticViewerChart.json b/dev/schemas/split-swagger/components/schemas/SavedSemanticViewerChart.json index 436d100..58cbadd 100644 --- a/dev/schemas/split-swagger/components/schemas/SavedSemanticViewerChart.json +++ b/dev/schemas/split-swagger/components/schemas/SavedSemanticViewerChart.json @@ -102,4 +102,4 @@ "savedSemanticViewerChartUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ScheduledJobs.json b/dev/schemas/split-swagger/components/schemas/ScheduledJobs.json index 9fbb0b2..312f163 100644 --- a/dev/schemas/split-swagger/components/schemas/ScheduledJobs.json +++ b/dev/schemas/split-swagger/components/schemas/ScheduledJobs.json @@ -13,4 +13,4 @@ "date" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Scheduler.json b/dev/schemas/split-swagger/components/schemas/Scheduler.json index 4accd9e..02848fb 100644 --- a/dev/schemas/split-swagger/components/schemas/Scheduler.json +++ b/dev/schemas/split-swagger/components/schemas/Scheduler.json @@ -7,4 +7,4 @@ "$ref": "./DashboardScheduler.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerAndTargets.json b/dev/schemas/split-swagger/components/schemas/SchedulerAndTargets.json index 0492f08..9a55669 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerAndTargets.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerAndTargets.json @@ -25,4 +25,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerBase.json b/dev/schemas/split-swagger/components/schemas/SchedulerBase.json index 59d94af..276244b 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerBase.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerBase.json @@ -1,5 +1,8 @@ { "properties": { + "includeLinks": { + "type": "boolean" + }, "notificationFrequency": { "$ref": "./NotificationFrequency.json" }, @@ -23,6 +26,9 @@ "type": "string", "nullable": true }, + "timezone": { + "type": "string" + }, "cron": { "type": "string" }, @@ -51,6 +57,7 @@ } }, "required": [ + "includeLinks", "enabled", "options", "dashboardUuid", @@ -64,4 +71,4 @@ "schedulerUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerCsvOptions.json b/dev/schemas/split-swagger/components/schemas/SchedulerCsvOptions.json index d410a61..609d89d 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerCsvOptions.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerCsvOptions.json @@ -24,4 +24,4 @@ "formatted" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerEmailTarget.json b/dev/schemas/split-swagger/components/schemas/SchedulerEmailTarget.json index ff7431a..180010c 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerEmailTarget.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerEmailTarget.json @@ -26,4 +26,4 @@ "schedulerEmailTargetUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerFilterRule.json b/dev/schemas/split-swagger/components/schemas/SchedulerFilterRule.json index ad18a4f..fb54f7a 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerFilterRule.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerFilterRule.json @@ -10,4 +10,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerFormat.json b/dev/schemas/split-swagger/components/schemas/SchedulerFormat.json index d23a370..1a2fe54 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerFormat.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerFormat.json @@ -5,4 +5,4 @@ "gsheets" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerGsheetsOptions.json b/dev/schemas/split-swagger/components/schemas/SchedulerGsheetsOptions.json index 99026a7..5dd0e30 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerGsheetsOptions.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerGsheetsOptions.json @@ -20,4 +20,4 @@ "gdriveId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerImageOptions.json b/dev/schemas/split-swagger/components/schemas/SchedulerImageOptions.json index 75f7968..53ba074 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerImageOptions.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerImageOptions.json @@ -5,4 +5,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerJobStatus.json b/dev/schemas/split-swagger/components/schemas/SchedulerJobStatus.json index a8d4040..3097241 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerJobStatus.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerJobStatus.json @@ -6,4 +6,4 @@ "error" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerLog.json b/dev/schemas/split-swagger/components/schemas/SchedulerLog.json index 8d25a48..932c9cc 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerLog.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerLog.json @@ -43,12 +43,14 @@ "uploadGsheets", "downloadCsv", "uploadGsheetFromQuery", + "createProjectWithCompile", "compileProject", "testAndCompileProject", "validateProject", "sqlRunner", "sqlRunnerPivotQuery", - "semanticLayer" + "semanticLayer", + "indexCatalog" ] } }, @@ -60,4 +62,4 @@ "task" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerOptions.json b/dev/schemas/split-swagger/components/schemas/SchedulerOptions.json index e519731..6574d94 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerOptions.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerOptions.json @@ -10,4 +10,4 @@ "$ref": "./SchedulerGsheetsOptions.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerSlackTarget.json b/dev/schemas/split-swagger/components/schemas/SchedulerSlackTarget.json index 7692f9b..add90ee 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerSlackTarget.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerSlackTarget.json @@ -26,4 +26,4 @@ "schedulerSlackTargetUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SchedulerWithLogs.json b/dev/schemas/split-swagger/components/schemas/SchedulerWithLogs.json index f5d74c0..1f856d0 100644 --- a/dev/schemas/split-swagger/components/schemas/SchedulerWithLogs.json +++ b/dev/schemas/split-swagger/components/schemas/SchedulerWithLogs.json @@ -79,4 +79,4 @@ "schedulers" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerClientInfo.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerClientInfo.json index 714adea..bc45525 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerClientInfo.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerClientInfo.json @@ -34,4 +34,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerConnection.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerConnection.json index d97302d..edbe90e 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerConnection.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerConnection.json @@ -7,4 +7,4 @@ "$ref": "./CubeSemanticLayerConnection.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerConnectionUpdate.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerConnectionUpdate.json new file mode 100644 index 0000000..e9eb2db --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerConnectionUpdate.json @@ -0,0 +1,40 @@ +{ + "anyOf": [ + { + "allOf": [ + { + "$ref": "./Partial_DbtSemanticLayerConnection_.json" + }, + { + "properties": { + "type": { + "$ref": "./SemanticLayerType.DBT.json" + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] + }, + { + "allOf": [ + { + "$ref": "./Partial_CubeSemanticLayerConnection_.json" + }, + { + "properties": { + "type": { + "$ref": "./SemanticLayerType.CUBE.json" + } + }, + "required": [ + "type" + ], + "type": "object" + } + ] + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerExactTimeFilter.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerExactTimeFilter.json index 9328aa4..ebed2bc 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerExactTimeFilter.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerExactTimeFilter.json @@ -31,4 +31,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerField.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerField.json index 8677acc..90e6de4 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerField.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerField.json @@ -13,7 +13,7 @@ "type": "array" }, "aggType": { - "type": "string" + "$ref": "./VizAggregationOptions.json" }, "visible": { "type": "boolean" @@ -44,4 +44,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.STRING.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.STRING.json index 6e9c1ed..70416dc 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.STRING.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.STRING.json @@ -3,4 +3,4 @@ "string" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.TIME.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.TIME.json index aee8bcc..8d7d546 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.TIME.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.TIME.json @@ -3,4 +3,4 @@ "time" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.json index 46f9269..834d3d5 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFieldType.json @@ -6,4 +6,4 @@ "boolean" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilter.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilter.json index 651d4b5..74975f6 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilter.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilter.json @@ -21,4 +21,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBase.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBase.json index c79da08..1e724c2 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBase.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBase.json @@ -20,4 +20,4 @@ "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBaseOperator.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBaseOperator.json index bbf36d4..4eb64ff 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBaseOperator.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterBaseOperator.json @@ -4,4 +4,4 @@ "IS_NOT" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterRelativeTimeValue.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterRelativeTimeValue.json index 41e16b6..a9461fe 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterRelativeTimeValue.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterRelativeTimeValue.json @@ -6,4 +6,4 @@ "LAST_30_DAYS" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterTypes.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterTypes.json index b2d6376..714aff8 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterTypes.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerFilterTypes.json @@ -7,4 +7,4 @@ "$ref": "./SemanticLayerTimeFilter.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerPivot.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerPivot.json index 50d0faf..1bb2b01 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerPivot.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerPivot.json @@ -25,4 +25,4 @@ "on" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerQuery.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerQuery.json index 3d3b98f..24b3a38 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerQuery.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerQuery.json @@ -1,5 +1,35 @@ { "properties": { + "customMetrics": { + "items": { + "allOf": [ + { + "$ref": "./Pick_SemanticLayerField.name-or-aggType_.json" + }, + { + "properties": { + "baseDimension": { + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "filters": { + "items": { + "$ref": "./SemanticLayerFilter.json" + }, + "type": "array" + }, + "pivot": { + "$ref": "./SemanticLayerPivot.json" + }, "timezone": { "type": "string" }, @@ -7,21 +37,12 @@ "type": "number", "format": "double" }, - "pivot": { - "$ref": "./SemanticLayerPivot.json" - }, "sortBy": { "items": { "$ref": "./SemanticLayerSortBy.json" }, "type": "array" }, - "filters": { - "items": { - "$ref": "./SemanticLayerFilter.json" - }, - "type": "array" - }, "metrics": { "items": { "$ref": "./Pick_SemanticLayerField.name_.json" @@ -42,11 +63,11 @@ } }, "required": [ - "sortBy", "filters", + "sortBy", "metrics", "timeDimensions", "dimensions" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerRelativeTimeFilter.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerRelativeTimeFilter.json index 230c021..26640d3 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerRelativeTimeFilter.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerRelativeTimeFilter.json @@ -31,4 +31,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerSortBy.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerSortBy.json index cf48947..54b6751 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerSortBy.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerSortBy.json @@ -6,7 +6,7 @@ { "properties": { "direction": { - "$ref": "./SemanticLayerSortByDirection.json" + "$ref": "./SortByDirection.json" } }, "required": [ @@ -15,4 +15,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerStringFilter.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerStringFilter.json index 0a791d8..8a5dce0 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerStringFilter.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerStringFilter.json @@ -26,4 +26,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeFilter.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeFilter.json index bd24e2c..b8c4271 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeFilter.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeFilter.json @@ -7,4 +7,4 @@ "$ref": "./SemanticLayerRelativeTimeFilter.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeGranularity.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeGranularity.json index e405cf6..bb08c88 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeGranularity.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerTimeGranularity.json @@ -13,4 +13,4 @@ "YEAR" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerType.CUBE.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerType.CUBE.json index 8e04baf..44f098e 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerType.CUBE.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerType.CUBE.json @@ -3,4 +3,4 @@ "CUBE" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerType.DBT.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerType.DBT.json index aca3982..d120c08 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerType.DBT.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerType.DBT.json @@ -3,4 +3,4 @@ "DBT" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticLayerView.json b/dev/schemas/split-swagger/components/schemas/SemanticLayerView.json index a472e79..e40d20d 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticLayerView.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticLayerView.json @@ -19,4 +19,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreate.json b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreate.json index e6f51fb..d7746ee 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreate.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreate.json @@ -4,7 +4,7 @@ "type": "string" }, "config": { - "$ref": "./VizChartConfig.json" + "$ref": "./AllVizChartConfig.json" }, "semanticLayerQuery": { "$ref": "./SemanticLayerQuery.json" @@ -30,4 +30,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreateResult.json b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreateResult.json index aafb42f..5366ab7 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreateResult.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartCreateResult.json @@ -12,4 +12,4 @@ "savedSemanticViewerChartUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdate.json b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdate.json index 1704f9c..dc1a257 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdate.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdate.json @@ -6,7 +6,7 @@ "$ref": "./ChartKind.json" }, "config": { - "$ref": "./VizChartConfig.json" + "$ref": "./AllVizChartConfig.json" }, "semanticLayerQuery": { "$ref": "./SemanticLayerQuery.json" @@ -46,4 +46,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdateResult.json b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdateResult.json index 2752853..61f26fc 100644 --- a/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdateResult.json +++ b/dev/schemas/split-swagger/components/schemas/SemanticViewerChartUpdateResult.json @@ -13,4 +13,4 @@ "savedSemanticViewerChartUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Series.json b/dev/schemas/split-swagger/components/schemas/Series.json index 83022b6..d153256 100644 --- a/dev/schemas/split-swagger/components/schemas/Series.json +++ b/dev/schemas/split-swagger/components/schemas/Series.json @@ -85,4 +85,4 @@ "encode" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ShareUrl.json b/dev/schemas/split-swagger/components/schemas/ShareUrl.json index 7abf7c0..adeb953 100644 --- a/dev/schemas/split-swagger/components/schemas/ShareUrl.json +++ b/dev/schemas/split-swagger/components/schemas/ShareUrl.json @@ -36,4 +36,4 @@ ], "type": "object", "description": "A ShareUrl maps a short shareable id to a full URL\nin the Lightdash UI. This allows very long URLs\nto be represented by short ids." -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SlackAppCustomSettings.json b/dev/schemas/split-swagger/components/schemas/SlackAppCustomSettings.json index c65e625..f2d95dd 100644 --- a/dev/schemas/split-swagger/components/schemas/SlackAppCustomSettings.json +++ b/dev/schemas/split-swagger/components/schemas/SlackAppCustomSettings.json @@ -20,4 +20,4 @@ "notificationChannel" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SlackChannel.json b/dev/schemas/split-swagger/components/schemas/SlackChannel.json index 3ee944a..11f0b68 100644 --- a/dev/schemas/split-swagger/components/schemas/SlackChannel.json +++ b/dev/schemas/split-swagger/components/schemas/SlackChannel.json @@ -12,4 +12,4 @@ "id" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SlackChannelProjectMapping.json b/dev/schemas/split-swagger/components/schemas/SlackChannelProjectMapping.json index 9e51b95..5e7f1ff 100644 --- a/dev/schemas/split-swagger/components/schemas/SlackChannelProjectMapping.json +++ b/dev/schemas/split-swagger/components/schemas/SlackChannelProjectMapping.json @@ -12,4 +12,4 @@ "projectUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SnowflakeCredentials.json b/dev/schemas/split-swagger/components/schemas/SnowflakeCredentials.json index 7b69f3d..27eacaf 100644 --- a/dev/schemas/split-swagger/components/schemas/SnowflakeCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/SnowflakeCredentials.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SortByDirection.json b/dev/schemas/split-swagger/components/schemas/SortByDirection.json index 479d0cf..7640d0b 100644 --- a/dev/schemas/split-swagger/components/schemas/SortByDirection.json +++ b/dev/schemas/split-swagger/components/schemas/SortByDirection.json @@ -4,4 +4,4 @@ "DESC" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SortField.json b/dev/schemas/split-swagger/components/schemas/SortField.json index 7482649..783ca2f 100644 --- a/dev/schemas/split-swagger/components/schemas/SortField.json +++ b/dev/schemas/split-swagger/components/schemas/SortField.json @@ -12,4 +12,4 @@ "fieldId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Source.json b/dev/schemas/split-swagger/components/schemas/Source.json index 5a9c423..431bdfb 100644 --- a/dev/schemas/split-swagger/components/schemas/Source.json +++ b/dev/schemas/split-swagger/components/schemas/Source.json @@ -43,4 +43,4 @@ "path" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SourcePosition.json b/dev/schemas/split-swagger/components/schemas/SourcePosition.json index 9c88564..6997883 100644 --- a/dev/schemas/split-swagger/components/schemas/SourcePosition.json +++ b/dev/schemas/split-swagger/components/schemas/SourcePosition.json @@ -14,4 +14,4 @@ "line" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Space.json b/dev/schemas/split-swagger/components/schemas/Space.json index be03849..c12adad 100644 --- a/dev/schemas/split-swagger/components/schemas/Space.json +++ b/dev/schemas/split-swagger/components/schemas/Space.json @@ -67,4 +67,4 @@ "organizationUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SpaceDashboard.json b/dev/schemas/split-swagger/components/schemas/SpaceDashboard.json index 625c046..80e731e 100644 --- a/dev/schemas/split-swagger/components/schemas/SpaceDashboard.json +++ b/dev/schemas/split-swagger/components/schemas/SpaceDashboard.json @@ -1,3 +1,3 @@ { "$ref": "./DashboardBasicDetails.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SpaceGroup.json b/dev/schemas/split-swagger/components/schemas/SpaceGroup.json index 550b90f..6371a93 100644 --- a/dev/schemas/split-swagger/components/schemas/SpaceGroup.json +++ b/dev/schemas/split-swagger/components/schemas/SpaceGroup.json @@ -16,4 +16,4 @@ "groupUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SpaceMemberRole.json b/dev/schemas/split-swagger/components/schemas/SpaceMemberRole.json index 1fac2ec..bf9c69d 100644 --- a/dev/schemas/split-swagger/components/schemas/SpaceMemberRole.json +++ b/dev/schemas/split-swagger/components/schemas/SpaceMemberRole.json @@ -5,4 +5,4 @@ "admin" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SpaceQuery.json b/dev/schemas/split-swagger/components/schemas/SpaceQuery.json index df0795b..becb53f 100644 --- a/dev/schemas/split-swagger/components/schemas/SpaceQuery.json +++ b/dev/schemas/split-swagger/components/schemas/SpaceQuery.json @@ -21,4 +21,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SpaceShare.json b/dev/schemas/split-swagger/components/schemas/SpaceShare.json index 998e4d4..6ff5352 100644 --- a/dev/schemas/split-swagger/components/schemas/SpaceShare.json +++ b/dev/schemas/split-swagger/components/schemas/SpaceShare.json @@ -50,4 +50,4 @@ "userUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SpaceSummary.json b/dev/schemas/split-swagger/components/schemas/SpaceSummary.json index 2423d6f..c2800f3 100644 --- a/dev/schemas/split-swagger/components/schemas/SpaceSummary.json +++ b/dev/schemas/split-swagger/components/schemas/SpaceSummary.json @@ -31,4 +31,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SqlChart.json b/dev/schemas/split-swagger/components/schemas/SqlChart.json index a08f14d..8629e75 100644 --- a/dev/schemas/split-swagger/components/schemas/SqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/SqlChart.json @@ -119,4 +119,4 @@ "savedSqlUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SqlRunnerBody.json b/dev/schemas/split-swagger/components/schemas/SqlRunnerBody.json index 5a4c16b..916b38f 100644 --- a/dev/schemas/split-swagger/components/schemas/SqlRunnerBody.json +++ b/dev/schemas/split-swagger/components/schemas/SqlRunnerBody.json @@ -1,11 +1,5 @@ { "properties": { - "uuid": { - "type": "string" - }, - "slug": { - "type": "string" - }, "limit": { "type": "number", "format": "double" @@ -18,4 +12,4 @@ "sql" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SqlRunnerPivotQueryBody.json b/dev/schemas/split-swagger/components/schemas/SqlRunnerPivotQueryBody.json index bdb0edd..2a696f1 100644 --- a/dev/schemas/split-swagger/components/schemas/SqlRunnerPivotQueryBody.json +++ b/dev/schemas/split-swagger/components/schemas/SqlRunnerPivotQueryBody.json @@ -7,4 +7,4 @@ "$ref": "./ApiSqlRunnerPivotQueryPayload.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SummaryContent.json b/dev/schemas/split-swagger/components/schemas/SummaryContent.json index b6239b6..46765ca 100644 --- a/dev/schemas/split-swagger/components/schemas/SummaryContent.json +++ b/dev/schemas/split-swagger/components/schemas/SummaryContent.json @@ -7,4 +7,4 @@ "$ref": "./DashboardContent.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SummaryExplore.json b/dev/schemas/split-swagger/components/schemas/SummaryExplore.json index d4a129b..54e37f6 100644 --- a/dev/schemas/split-swagger/components/schemas/SummaryExplore.json +++ b/dev/schemas/split-swagger/components/schemas/SummaryExplore.json @@ -21,4 +21,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SummaryExtraFields.json b/dev/schemas/split-swagger/components/schemas/SummaryExtraFields.json index b0a4701..c7e28ca 100644 --- a/dev/schemas/split-swagger/components/schemas/SummaryExtraFields.json +++ b/dev/schemas/split-swagger/components/schemas/SummaryExtraFields.json @@ -15,4 +15,4 @@ "schemaName" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SupportedDbtAdapter.json b/dev/schemas/split-swagger/components/schemas/SupportedDbtAdapter.json index 2fa4631..409c7d3 100644 --- a/dev/schemas/split-swagger/components/schemas/SupportedDbtAdapter.json +++ b/dev/schemas/split-swagger/components/schemas/SupportedDbtAdapter.json @@ -8,4 +8,4 @@ "trino" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/SupportedDbtVersions.json b/dev/schemas/split-swagger/components/schemas/SupportedDbtVersions.json index 3936004..92ef9a9 100644 --- a/dev/schemas/split-swagger/components/schemas/SupportedDbtVersions.json +++ b/dev/schemas/split-swagger/components/schemas/SupportedDbtVersions.json @@ -7,4 +7,4 @@ "v1.8" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TableBase.json b/dev/schemas/split-swagger/components/schemas/TableBase.json index cec4a2d..ed8d4a5 100644 --- a/dev/schemas/split-swagger/components/schemas/TableBase.json +++ b/dev/schemas/split-swagger/components/schemas/TableBase.json @@ -1,5 +1,8 @@ { "properties": { + "defaultTimeDimension": { + "$ref": "./DefaultTimeDimension.json" + }, "groupDetails": { "$ref": "./Record_string.GroupType_.json" }, @@ -54,4 +57,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TableCalculation.json b/dev/schemas/split-swagger/components/schemas/TableCalculation.json index b8352c2..03e88e8 100644 --- a/dev/schemas/split-swagger/components/schemas/TableCalculation.json +++ b/dev/schemas/split-swagger/components/schemas/TableCalculation.json @@ -26,4 +26,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TableCalculationType.json b/dev/schemas/split-swagger/components/schemas/TableCalculationType.json index 17a02f6..8b8b944 100644 --- a/dev/schemas/split-swagger/components/schemas/TableCalculationType.json +++ b/dev/schemas/split-swagger/components/schemas/TableCalculationType.json @@ -7,4 +7,4 @@ "boolean" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TableChart.json b/dev/schemas/split-swagger/components/schemas/TableChart.json index 7c953fc..f6cf3e0 100644 --- a/dev/schemas/split-swagger/components/schemas/TableChart.json +++ b/dev/schemas/split-swagger/components/schemas/TableChart.json @@ -32,4 +32,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TableChartConfig.json b/dev/schemas/split-swagger/components/schemas/TableChartConfig.json index cfb563d..8b602ec 100644 --- a/dev/schemas/split-swagger/components/schemas/TableChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/TableChartConfig.json @@ -11,4 +11,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/Tag.json b/dev/schemas/split-swagger/components/schemas/Tag.json new file mode 100644 index 0000000..5d38205 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/Tag.json @@ -0,0 +1,37 @@ +{ + "properties": { + "createdBy": { + "allOf": [ + { + "$ref": "./Pick_LightdashUser.userUuid-or-firstName-or-lastName_.json" + } + ], + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "color": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "tagUuid": { + "type": "string" + } + }, + "required": [ + "createdBy", + "createdAt", + "color", + "name", + "projectUuid", + "tagUuid" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ThresholdOperator.json b/dev/schemas/split-swagger/components/schemas/ThresholdOperator.json index fc63b5a..d6752ef 100644 --- a/dev/schemas/split-swagger/components/schemas/ThresholdOperator.json +++ b/dev/schemas/split-swagger/components/schemas/ThresholdOperator.json @@ -6,4 +6,4 @@ "decreasedBy" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ThresholdOptions.json b/dev/schemas/split-swagger/components/schemas/ThresholdOptions.json index 9c0508c..8627c57 100644 --- a/dev/schemas/split-swagger/components/schemas/ThresholdOptions.json +++ b/dev/schemas/split-swagger/components/schemas/ThresholdOptions.json @@ -17,4 +17,4 @@ "operator" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TimeDimensionConfig.json b/dev/schemas/split-swagger/components/schemas/TimeDimensionConfig.json new file mode 100644 index 0000000..32521e8 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/TimeDimensionConfig.json @@ -0,0 +1,18 @@ +{ + "allOf": [ + { + "$ref": "./DefaultTimeDimension.json" + }, + { + "properties": { + "table": { + "type": "string" + } + }, + "required": [ + "table" + ], + "type": "object" + } + ] +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TimeFrames.json b/dev/schemas/split-swagger/components/schemas/TimeFrames.json index 110bdb5..61c2aa3 100644 --- a/dev/schemas/split-swagger/components/schemas/TimeFrames.json +++ b/dev/schemas/split-swagger/components/schemas/TimeFrames.json @@ -24,4 +24,4 @@ "MINUTE_OF_HOUR_NUM" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/TrinoCredentials.json b/dev/schemas/split-swagger/components/schemas/TrinoCredentials.json index 729ed07..1211f08 100644 --- a/dev/schemas/split-swagger/components/schemas/TrinoCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/TrinoCredentials.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UUID.json b/dev/schemas/split-swagger/components/schemas/UUID.json index d12c564..ba65e19 100644 --- a/dev/schemas/split-swagger/components/schemas/UUID.json +++ b/dev/schemas/split-swagger/components/schemas/UUID.json @@ -3,4 +3,4 @@ "format": "uuid", "description": "Stringified UUIDv4.\nSee [RFC 4112](https://tools.ietf.org/html/rfc4122)", "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateAllowedEmailDomains.json b/dev/schemas/split-swagger/components/schemas/UpdateAllowedEmailDomains.json index 735a8f7..424afe5 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateAllowedEmailDomains.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateAllowedEmailDomains.json @@ -1,3 +1,3 @@ { "$ref": "./Omit_AllowedEmailDomains.organizationUuid_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateDBProjectGroupAccess.json b/dev/schemas/split-swagger/components/schemas/UpdateDBProjectGroupAccess.json index 5a9ca94..7d7f6e2 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateDBProjectGroupAccess.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateDBProjectGroupAccess.json @@ -1,3 +1,3 @@ { "$ref": "./Pick_DBProjectGroupAccess.role_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateGroupWithMembers.json b/dev/schemas/split-swagger/components/schemas/UpdateGroupWithMembers.json index 3f4f845..7966dd6 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateGroupWithMembers.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateGroupWithMembers.json @@ -11,4 +11,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateMetadata.json b/dev/schemas/split-swagger/components/schemas/UpdateMetadata.json index e36146a..cc05d05 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateMetadata.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateMetadata.json @@ -6,4 +6,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateMultipleDashboards.json b/dev/schemas/split-swagger/components/schemas/UpdateMultipleDashboards.json new file mode 100644 index 0000000..33a45e3 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/UpdateMultipleDashboards.json @@ -0,0 +1,3 @@ +{ + "$ref": "./Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_.json" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateOrganization.json b/dev/schemas/split-swagger/components/schemas/UpdateOrganization.json index 4138d3c..954e5b4 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateOrganization.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateOrganization.json @@ -1,3 +1,3 @@ { "$ref": "./Partial_Omit_Organization.organizationUuid-or-needsProject__.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdatePinnedItemOrder.json b/dev/schemas/split-swagger/components/schemas/UpdatePinnedItemOrder.json index 2b46c72..a980411 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdatePinnedItemOrder.json +++ b/dev/schemas/split-swagger/components/schemas/UpdatePinnedItemOrder.json @@ -12,4 +12,4 @@ "type" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateProjectMember.json b/dev/schemas/split-swagger/components/schemas/UpdateProjectMember.json index 438e825..53b93c9 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateProjectMember.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateProjectMember.json @@ -8,4 +8,4 @@ "role" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateSchedulerSettings.json b/dev/schemas/split-swagger/components/schemas/UpdateSchedulerSettings.json new file mode 100644 index 0000000..3dbbac1 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/UpdateSchedulerSettings.json @@ -0,0 +1,11 @@ +{ + "properties": { + "schedulerTimezone": { + "type": "string" + } + }, + "required": [ + "schedulerTimezone" + ], + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateSpace.json b/dev/schemas/split-swagger/components/schemas/UpdateSpace.json index 89a70af..268876a 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateSpace.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateSpace.json @@ -12,4 +12,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateSqlChart.json b/dev/schemas/split-swagger/components/schemas/UpdateSqlChart.json index 490b467..6438bbc 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateSqlChart.json @@ -8,4 +8,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateUnversionedSqlChart.json b/dev/schemas/split-swagger/components/schemas/UpdateUnversionedSqlChart.json index a07d9b6..26f8bc2 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateUnversionedSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateUnversionedSqlChart.json @@ -17,4 +17,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateVersionedSqlChart.json b/dev/schemas/split-swagger/components/schemas/UpdateVersionedSqlChart.json index d18206a..25df04b 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdateVersionedSqlChart.json +++ b/dev/schemas/split-swagger/components/schemas/UpdateVersionedSqlChart.json @@ -1,7 +1,7 @@ { "properties": { "config": { - "$ref": "./VizChartConfig.json" + "$ref": "./AllVizChartConfig.json" }, "limit": { "type": "number", @@ -17,4 +17,4 @@ "sql" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdateVirtualViewPayload.json b/dev/schemas/split-swagger/components/schemas/UpdateVirtualViewPayload.json new file mode 100644 index 0000000..e893892 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/UpdateVirtualViewPayload.json @@ -0,0 +1,3 @@ +{ + "$ref": "./CreateVirtualViewPayload.json" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpdatedByUser.json b/dev/schemas/split-swagger/components/schemas/UpdatedByUser.json index d5d2822..9ee5934 100644 --- a/dev/schemas/split-swagger/components/schemas/UpdatedByUser.json +++ b/dev/schemas/split-swagger/components/schemas/UpdatedByUser.json @@ -17,4 +17,4 @@ ], "type": "object", "additionalProperties": true -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UploadMetricGsheet.json b/dev/schemas/split-swagger/components/schemas/UploadMetricGsheet.json index 5dd6c1b..0822ecc 100644 --- a/dev/schemas/split-swagger/components/schemas/UploadMetricGsheet.json +++ b/dev/schemas/split-swagger/components/schemas/UploadMetricGsheet.json @@ -36,4 +36,4 @@ "projectUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UpsertUserWarehouseCredentials.json b/dev/schemas/split-swagger/components/schemas/UpsertUserWarehouseCredentials.json index 1d6d735..af08c48 100644 --- a/dev/schemas/split-swagger/components/schemas/UpsertUserWarehouseCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/UpsertUserWarehouseCredentials.json @@ -31,4 +31,4 @@ "name" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UserAllowedOrganization.json b/dev/schemas/split-swagger/components/schemas/UserAllowedOrganization.json index a636702..bd47b0e 100644 --- a/dev/schemas/split-swagger/components/schemas/UserAllowedOrganization.json +++ b/dev/schemas/split-swagger/components/schemas/UserAllowedOrganization.json @@ -17,4 +17,4 @@ "organizationUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UserAttribute.json b/dev/schemas/split-swagger/components/schemas/UserAttribute.json index ef66241..6501477 100644 --- a/dev/schemas/split-swagger/components/schemas/UserAttribute.json +++ b/dev/schemas/split-swagger/components/schemas/UserAttribute.json @@ -43,4 +43,4 @@ "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UserAttributeValue.json b/dev/schemas/split-swagger/components/schemas/UserAttributeValue.json index 08da091..20589af 100644 --- a/dev/schemas/split-swagger/components/schemas/UserAttributeValue.json +++ b/dev/schemas/split-swagger/components/schemas/UserAttributeValue.json @@ -16,4 +16,4 @@ "userUuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/UserWarehouseCredentials.json b/dev/schemas/split-swagger/components/schemas/UserWarehouseCredentials.json index db8335a..a8d0569 100644 --- a/dev/schemas/split-swagger/components/schemas/UserWarehouseCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/UserWarehouseCredentials.json @@ -40,4 +40,4 @@ "uuid" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationErrorChartResponse.json b/dev/schemas/split-swagger/components/schemas/ValidationErrorChartResponse.json index 71f0b0d..5e4376b 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationErrorChartResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationErrorChartResponse.json @@ -35,4 +35,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationErrorDashboardResponse.json b/dev/schemas/split-swagger/components/schemas/ValidationErrorDashboardResponse.json index 0c2bdb7..079a205 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationErrorDashboardResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationErrorDashboardResponse.json @@ -32,4 +32,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationErrorTableResponse.json b/dev/schemas/split-swagger/components/schemas/ValidationErrorTableResponse.json index a15fa3c..50ba9e1 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationErrorTableResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationErrorTableResponse.json @@ -12,4 +12,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationErrorType.json b/dev/schemas/split-swagger/components/schemas/ValidationErrorType.json index 17c6fbb..b365593 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationErrorType.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationErrorType.json @@ -9,4 +9,4 @@ "custom metric" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationResponse.json b/dev/schemas/split-swagger/components/schemas/ValidationResponse.json index fcb0331..442408d 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationResponse.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationResponse.json @@ -10,4 +10,4 @@ "$ref": "./ValidationErrorTableResponse.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationResponseBase.json b/dev/schemas/split-swagger/components/schemas/ValidationResponseBase.json index 5051b15..22f58e6 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationResponseBase.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationResponseBase.json @@ -36,4 +36,4 @@ "validationId" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationSourceType.json b/dev/schemas/split-swagger/components/schemas/ValidationSourceType.json index 46dd105..e857eb1 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationSourceType.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationSourceType.json @@ -5,4 +5,4 @@ "table" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationSummary.json b/dev/schemas/split-swagger/components/schemas/ValidationSummary.json index b1adb3a..88a6091 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationSummary.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationSummary.json @@ -1,3 +1,3 @@ { "$ref": "./Pick_ValidationResponse.error-or-createdAt-or-validationId_.json" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValidationTarget.json b/dev/schemas/split-swagger/components/schemas/ValidationTarget.json index dadda24..89e6abc 100644 --- a/dev/schemas/split-swagger/components/schemas/ValidationTarget.json +++ b/dev/schemas/split-swagger/components/schemas/ValidationTarget.json @@ -5,4 +5,4 @@ "tables" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ValueLabelPositionOptions.json b/dev/schemas/split-swagger/components/schemas/ValueLabelPositionOptions.json new file mode 100644 index 0000000..08cb6d6 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/ValueLabelPositionOptions.json @@ -0,0 +1,11 @@ +{ + "enum": [ + "hidden", + "top", + "bottom", + "left", + "right", + "inside" + ], + "type": "string" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/ViewStatistics.json b/dev/schemas/split-swagger/components/schemas/ViewStatistics.json index 6780764..52dcd8c 100644 --- a/dev/schemas/split-swagger/components/schemas/ViewStatistics.json +++ b/dev/schemas/split-swagger/components/schemas/ViewStatistics.json @@ -22,4 +22,4 @@ "views" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizAggregationOptions.json b/dev/schemas/split-swagger/components/schemas/VizAggregationOptions.json index 4623703..4bfe841 100644 --- a/dev/schemas/split-swagger/components/schemas/VizAggregationOptions.json +++ b/dev/schemas/split-swagger/components/schemas/VizAggregationOptions.json @@ -8,4 +8,4 @@ "any" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizBarChartConfig.json b/dev/schemas/split-swagger/components/schemas/VizBarChartConfig.json index 95fb92b..88ab27a 100644 --- a/dev/schemas/split-swagger/components/schemas/VizBarChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizBarChartConfig.json @@ -9,7 +9,7 @@ "$ref": "./CartesianChartDisplay.json" }, "fieldConfig": { - "$ref": "./VizChartLayout.json" + "$ref": "./PivotChartLayout.json" }, "type": { "$ref": "./ChartKind.VERTICAL_BAR.json" @@ -21,4 +21,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizBaseConfig.json b/dev/schemas/split-swagger/components/schemas/VizBaseConfig.json index b1b3786..ed66e0f 100644 --- a/dev/schemas/split-swagger/components/schemas/VizBaseConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizBaseConfig.json @@ -21,4 +21,4 @@ "metadata" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizCartesianChartConfig.json b/dev/schemas/split-swagger/components/schemas/VizCartesianChartConfig.json index 6d8a698..16c03b1 100644 --- a/dev/schemas/split-swagger/components/schemas/VizCartesianChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizCartesianChartConfig.json @@ -9,7 +9,7 @@ "$ref": "./CartesianChartDisplay.json" }, "fieldConfig": { - "$ref": "./VizChartLayout.json" + "$ref": "./PivotChartLayout.json" }, "type": { "anyOf": [ @@ -28,4 +28,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizChartConfig.json b/dev/schemas/split-swagger/components/schemas/VizChartConfig.json deleted file mode 100644 index db342b8..0000000 --- a/dev/schemas/split-swagger/components/schemas/VizChartConfig.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "anyOf": [ - { - "$ref": "./VizBarChartConfig.json" - }, - { - "$ref": "./VizLineChartConfig.json" - }, - { - "$ref": "./VizPieChartConfig.json" - }, - { - "$ref": "./VizTableConfig.json" - } - ] -} diff --git a/dev/schemas/split-swagger/components/schemas/VizColumn.json b/dev/schemas/split-swagger/components/schemas/VizColumn.json index 2c7ea44..0c94b1b 100644 --- a/dev/schemas/split-swagger/components/schemas/VizColumn.json +++ b/dev/schemas/split-swagger/components/schemas/VizColumn.json @@ -11,4 +11,4 @@ "reference" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizColumnConfig.json b/dev/schemas/split-swagger/components/schemas/VizColumnConfig.json index 999d8af..b7ea657 100644 --- a/dev/schemas/split-swagger/components/schemas/VizColumnConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizColumnConfig.json @@ -27,4 +27,4 @@ "visible" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizColumnsConfig.json b/dev/schemas/split-swagger/components/schemas/VizColumnsConfig.json index 9e9dd9a..e4ce86b 100644 --- a/dev/schemas/split-swagger/components/schemas/VizColumnsConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizColumnsConfig.json @@ -4,4 +4,4 @@ "$ref": "./VizColumnConfig.json" }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizIndexType.json b/dev/schemas/split-swagger/components/schemas/VizIndexType.json index ddb438f..551eeff 100644 --- a/dev/schemas/split-swagger/components/schemas/VizIndexType.json +++ b/dev/schemas/split-swagger/components/schemas/VizIndexType.json @@ -4,4 +4,4 @@ "category" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizLineChartConfig.json b/dev/schemas/split-swagger/components/schemas/VizLineChartConfig.json index 0e0441f..3b70c51 100644 --- a/dev/schemas/split-swagger/components/schemas/VizLineChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizLineChartConfig.json @@ -9,7 +9,7 @@ "$ref": "./CartesianChartDisplay.json" }, "fieldConfig": { - "$ref": "./VizChartLayout.json" + "$ref": "./PivotChartLayout.json" }, "type": { "$ref": "./ChartKind.LINE.json" @@ -21,4 +21,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizPieChartConfig.json b/dev/schemas/split-swagger/components/schemas/VizPieChartConfig.json index a77fd4f..26fd570 100644 --- a/dev/schemas/split-swagger/components/schemas/VizPieChartConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizPieChartConfig.json @@ -9,7 +9,7 @@ "$ref": "./VizPieChartDisplay.json" }, "fieldConfig": { - "$ref": "./VizChartLayout.json" + "$ref": "./PivotChartLayout.json" }, "type": { "$ref": "./ChartKind.PIE.json" @@ -21,4 +21,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizPieChartDisplay.json b/dev/schemas/split-swagger/components/schemas/VizPieChartDisplay.json index a8647dc..c63c653 100644 --- a/dev/schemas/split-swagger/components/schemas/VizPieChartDisplay.json +++ b/dev/schemas/split-swagger/components/schemas/VizPieChartDisplay.json @@ -5,4 +5,4 @@ } }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizSortBy.json b/dev/schemas/split-swagger/components/schemas/VizSortBy.json index f49cc39..1f00725 100644 --- a/dev/schemas/split-swagger/components/schemas/VizSortBy.json +++ b/dev/schemas/split-swagger/components/schemas/VizSortBy.json @@ -12,4 +12,4 @@ "reference" ], "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizTableConfig.json b/dev/schemas/split-swagger/components/schemas/VizTableConfig.json index 5920b56..717a1fe 100644 --- a/dev/schemas/split-swagger/components/schemas/VizTableConfig.json +++ b/dev/schemas/split-swagger/components/schemas/VizTableConfig.json @@ -5,6 +5,9 @@ }, { "properties": { + "display": { + "$ref": "./VizTableDisplay.json" + }, "columns": { "$ref": "./VizColumnsConfig.json" }, @@ -19,4 +22,4 @@ "type": "object" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/VizTableDisplay.json b/dev/schemas/split-swagger/components/schemas/VizTableDisplay.json new file mode 100644 index 0000000..3595c81 --- /dev/null +++ b/dev/schemas/split-swagger/components/schemas/VizTableDisplay.json @@ -0,0 +1,4 @@ +{ + "properties": {}, + "type": "object" +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseCredentials.json b/dev/schemas/split-swagger/components/schemas/WarehouseCredentials.json index 0590213..6150070 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseCredentials.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseCredentials.json @@ -19,4 +19,4 @@ "$ref": "./TrinoCredentials.json" } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTableSchema.json b/dev/schemas/split-swagger/components/schemas/WarehouseTableSchema.json index 23a1bad..3cf12d3 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTableSchema.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTableSchema.json @@ -4,4 +4,4 @@ "$ref": "./DimensionType.json" }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTablesCatalog.json b/dev/schemas/split-swagger/components/schemas/WarehouseTablesCatalog.json index 464d8a1..176bac6 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTablesCatalog.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTablesCatalog.json @@ -17,4 +17,4 @@ "type": "object" }, "type": "object" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.BIGQUERY.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.BIGQUERY.json index d135011..120e0fa 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.BIGQUERY.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.BIGQUERY.json @@ -3,4 +3,4 @@ "bigquery" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.DATABRICKS.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.DATABRICKS.json index 5cfc7af..13f5f5c 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.DATABRICKS.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.DATABRICKS.json @@ -3,4 +3,4 @@ "databricks" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.POSTGRES.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.POSTGRES.json index 4916e0c..799ca8e 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.POSTGRES.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.POSTGRES.json @@ -3,4 +3,4 @@ "postgres" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.REDSHIFT.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.REDSHIFT.json index 86b8879..008571e 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.REDSHIFT.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.REDSHIFT.json @@ -3,4 +3,4 @@ "redshift" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.SNOWFLAKE.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.SNOWFLAKE.json index 4934745..6ab1db7 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.SNOWFLAKE.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.SNOWFLAKE.json @@ -3,4 +3,4 @@ "snowflake" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.TRINO.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.TRINO.json index f641bb6..986bf40 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.TRINO.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.TRINO.json @@ -3,4 +3,4 @@ "trino" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.json b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.json index a5c5eae..35b7cbf 100644 --- a/dev/schemas/split-swagger/components/schemas/WarehouseTypes.json +++ b/dev/schemas/split-swagger/components/schemas/WarehouseTypes.json @@ -8,4 +8,4 @@ "trino" ], "type": "string" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/components/schemas/WeekDay.json b/dev/schemas/split-swagger/components/schemas/WeekDay.json index 97912b9..2627f65 100644 --- a/dev/schemas/split-swagger/components/schemas/WeekDay.json +++ b/dev/schemas/split-swagger/components/schemas/WeekDay.json @@ -9,4 +9,4 @@ 6 ], "type": "number" -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/openapi.json b/dev/schemas/split-swagger/openapi.json index 17c7239..6f3e5cb 100644 --- a/dev/schemas/split-swagger/openapi.json +++ b/dev/schemas/split-swagger/openapi.json @@ -16,7 +16,7 @@ }, "info": { "title": "Lightdash API", - "version": "0.1286.0", + "version": "0.1398.0", "description": "Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens\n", "license": { "name": "MIT" @@ -41,6 +41,33 @@ "/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics/{field}": { "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics_{field}.json" }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_metrics.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/{tableName}/{metricName}": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_{tableName}_{metricName}.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_metrics-with-time-dimensions.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories/{tagUuid}": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories_{tagUuid}.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/icon": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_icon.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges.json" + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges/{sourceCatalogSearchUuid}/{targetCatalogSearchUuid}": { + "$ref": "paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges_{sourceCatalogSearchUuid}_{targetCatalogSearchUuid}.json" + }, "/api/v1/comments/dashboards/{dashboardUuid}/{dashboardTileUuid}": { "$ref": "paths/api_v1_comments_dashboards_{dashboardUuid}_{dashboardTileUuid}.json" }, @@ -110,6 +137,9 @@ "/api/v1/groups/{groupUuid}/projects/{projectUuid}": { "$ref": "paths/api_v1_groups_{groupUuid}_projects_{projectUuid}.json" }, + "/api/v1/projects/{projectUuid}/metricsExplorer/{explore}/{metric}/runMetricExplorerQuery": { + "$ref": "paths/api_v1_projects_{projectUuid}_metricsExplorer_{explore}_{metric}_runMetricExplorerQuery.json" + }, "/api/v1/notifications": { "$ref": "paths/api_v1_notifications.json" }, @@ -191,6 +221,33 @@ "/api/v1/projects/{projectUuid}/semantic-layer-connection": { "$ref": "paths/api_v1_projects_{projectUuid}_semantic-layer-connection.json" }, + "/api/v1/projects/{projectUuid}/dashboards": { + "$ref": "paths/api_v1_projects_{projectUuid}_dashboards.json" + }, + "/api/v1/projects/{projectUuid}/createPreview": { + "$ref": "paths/api_v1_projects_{projectUuid}_createPreview.json" + }, + "/api/v1/projects/{projectUuid}/schedulerSettings": { + "$ref": "paths/api_v1_projects_{projectUuid}_schedulerSettings.json" + }, + "/api/v1/projects/{projectUuid}/tags": { + "$ref": "paths/api_v1_projects_{projectUuid}_tags.json" + }, + "/api/v1/projects/{projectUuid}/tags/{tagUuid}": { + "$ref": "paths/api_v1_projects_{projectUuid}_tags_{tagUuid}.json" + }, + "/api/v1/projects/{projectUuid}/charts/code": { + "$ref": "paths/api_v1_projects_{projectUuid}_charts_code.json" + }, + "/api/v1/projects/{projectUuid}/dashboards/code": { + "$ref": "paths/api_v1_projects_{projectUuid}_dashboards_code.json" + }, + "/api/v1/projects/{projectUuid}/charts/{slug}/code": { + "$ref": "paths/api_v1_projects_{projectUuid}_charts_{slug}_code.json" + }, + "/api/v1/projects/{projectUuid}/dashboards/{slug}/code": { + "$ref": "paths/api_v1_projects_{projectUuid}_dashboards_{slug}_code.json" + }, "/api/v1/projects/{projectUuid}/explores/{exploreId}/runUnderlyingDataQuery": { "$ref": "paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runUnderlyingDataQuery.json" }, @@ -224,6 +281,9 @@ "/api/v1/saved/{chartUuid}/promoteDiff": { "$ref": "paths/api_v1_saved_{chartUuid}_promoteDiff.json" }, + "/api/v1/saved/{chartUuid}/downloadCsv": { + "$ref": "paths/api_v1_saved_{chartUuid}_downloadCsv.json" + }, "/api/v1/schedulers/{projectUuid}/logs": { "$ref": "paths/api_v1_schedulers_{projectUuid}_logs.json" }, @@ -305,6 +365,9 @@ "/api/v1/user/login-options": { "$ref": "paths/api_v1_user_login-options.json" }, + "/api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}/rotate": { + "$ref": "paths/api_v1_user_me_personal-access-tokens_{personalAccessTokenUuid}_rotate.json" + }, "/api/v1/projects/{projectUuid}/validate": { "$ref": "paths/api_v1_projects_{projectUuid}_validate.json" }, @@ -342,4 +405,4 @@ } } ] -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}.json b/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}.json index 255a3c6..8fa914c 100644 --- a/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{commentId}.json b/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{commentId}.json index 81b3fb2..1af03b3 100644 --- a/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{commentId}.json +++ b/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{commentId}.json @@ -99,4 +99,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{dashboardTileUuid}.json b/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{dashboardTileUuid}.json index 6d08396..5f19034 100644 --- a/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{dashboardTileUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_comments_dashboards_{dashboardUuid}_{dashboardTileUuid}.json @@ -61,4 +61,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_csv_{jobId}.json b/dev/schemas/split-swagger/paths/api_v1_csv_{jobId}.json index 67237b3..e4ba058 100644 --- a/dev/schemas/split-swagger/paths/api_v1_csv_{jobId}.json +++ b/dev/schemas/split-swagger/paths/api_v1_csv_{jobId}.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promote.json b/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promote.json index 1089d3b..5fe4b9e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promote.json +++ b/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promote.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promoteDiff.json b/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promoteDiff.json index 84a95c8..2a9625a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promoteDiff.json +++ b/dev/schemas/split-swagger/paths/api_v1_dashboards_{dashboardUuid}_promoteDiff.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_gdrive_get-access-token.json b/dev/schemas/split-swagger/paths/api_v1_gdrive_get-access-token.json index 5f1d19f..41e49fc 100644 --- a/dev/schemas/split-swagger/paths/api_v1_gdrive_get-access-token.json +++ b/dev/schemas/split-swagger/paths/api_v1_gdrive_get-access-token.json @@ -30,4 +30,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_gdrive_upload-gsheet.json b/dev/schemas/split-swagger/paths/api_v1_gdrive_upload-gsheet.json index bc471db..e681dad 100644 --- a/dev/schemas/split-swagger/paths/api_v1_gdrive_upload-gsheet.json +++ b/dev/schemas/split-swagger/paths/api_v1_gdrive_upload-gsheet.json @@ -40,4 +40,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_github_install.json b/dev/schemas/split-swagger/paths/api_v1_github_install.json index 3396ce7..df5319d 100644 --- a/dev/schemas/split-swagger/paths/api_v1_github_install.json +++ b/dev/schemas/split-swagger/paths/api_v1_github_install.json @@ -10,4 +10,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_github_oauth_callback.json b/dev/schemas/split-swagger/paths/api_v1_github_oauth_callback.json index c10953d..5e8ffde 100644 --- a/dev/schemas/split-swagger/paths/api_v1_github_oauth_callback.json +++ b/dev/schemas/split-swagger/paths/api_v1_github_oauth_callback.json @@ -47,4 +47,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_github_repos_list.json b/dev/schemas/split-swagger/paths/api_v1_github_repos_list.json index bc88278..22a3d50 100644 --- a/dev/schemas/split-swagger/paths/api_v1_github_repos_list.json +++ b/dev/schemas/split-swagger/paths/api_v1_github_repos_list.json @@ -35,4 +35,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_github_uninstall.json b/dev/schemas/split-swagger/paths/api_v1_github_uninstall.json index c7a16a0..2786983 100644 --- a/dev/schemas/split-swagger/paths/api_v1_github_uninstall.json +++ b/dev/schemas/split-swagger/paths/api_v1_github_uninstall.json @@ -16,4 +16,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}.json b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}.json index 8da2292..2d0f388 100644 --- a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}.json @@ -150,4 +150,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members.json b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members.json index 3bc6cc8..97b4e28 100644 --- a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members.json +++ b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members_{userUuid}.json b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members_{userUuid}.json index 54b92ad..c2be3ea 100644 --- a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members_{userUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_members_{userUuid}.json @@ -99,4 +99,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_projects_{projectUuid}.json b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_projects_{projectUuid}.json index 79ff949..c7972d0 100644 --- a/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_projects_{projectUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_groups_{groupUuid}_projects_{projectUuid}.json @@ -163,4 +163,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_notifications.json b/dev/schemas/split-swagger/paths/api_v1_notifications.json index 62aff07..c6750d6 100644 --- a/dev/schemas/split-swagger/paths/api_v1_notifications.json +++ b/dev/schemas/split-swagger/paths/api_v1_notifications.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_notifications_{notificationId}.json b/dev/schemas/split-swagger/paths/api_v1_notifications_{notificationId}.json index 72e1ccc..6c45571 100644 --- a/dev/schemas/split-swagger/paths/api_v1_notifications_{notificationId}.json +++ b/dev/schemas/split-swagger/paths/api_v1_notifications_{notificationId}.json @@ -50,4 +50,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org.json b/dev/schemas/split-swagger/paths/api_v1_org.json index 45b8e63..4a5a6e3 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org.json +++ b/dev/schemas/split-swagger/paths/api_v1_org.json @@ -116,4 +116,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_allowedEmailDomains.json b/dev/schemas/split-swagger/paths/api_v1_org_allowedEmailDomains.json index 449f9e8..161dc7c 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_allowedEmailDomains.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_allowedEmailDomains.json @@ -73,4 +73,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_attributes.json b/dev/schemas/split-swagger/paths/api_v1_org_attributes.json index 95ba7dd..a1cb494 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_attributes.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_attributes.json @@ -73,4 +73,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_attributes_{userAttributeUuid}.json b/dev/schemas/split-swagger/paths/api_v1_org_attributes_{userAttributeUuid}.json index bfa91b3..3cbe18a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_attributes_{userAttributeUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_attributes_{userAttributeUuid}.json @@ -93,4 +93,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_groups.json b/dev/schemas/split-swagger/paths/api_v1_org_groups.json index 9a35aef..5d937e8 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_groups.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_groups.json @@ -7,7 +7,7 @@ "content": { "application/json": { "schema": { - "$ref": "../components/schemas/ApiGroupResponse.json" + "$ref": "../components/schemas/ApiCreateGroupResponse.json" } } } @@ -72,6 +72,24 @@ ], "security": [], "parameters": [ + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, { "description": "number of members to include", "in": "query", @@ -81,7 +99,15 @@ "format": "double", "type": "number" } + }, + { + "in": "query", + "name": "searchQuery", + "required": false, + "schema": { + "type": "string" + } } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_projects.json b/dev/schemas/split-swagger/paths/api_v1_org_projects.json index 9a96bec..6f13c7d 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_projects.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_projects.json @@ -30,4 +30,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_user_{userUuid}.json b/dev/schemas/split-swagger/paths/api_v1_org_user_{userUuid}.json index d1e529a..634b6a2 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_user_{userUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_user_{userUuid}.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_users.json b/dev/schemas/split-swagger/paths/api_v1_org_users.json index 9e63b98..6f90e2a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_users.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_users.json @@ -63,7 +63,16 @@ "schema": { "type": "string" } + }, + { + "description": "filter users who can view this project", + "in": "query", + "name": "projectUuid", + "required": false, + "schema": { + "type": "string" + } } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_users_{userUuid}.json b/dev/schemas/split-swagger/paths/api_v1_org_users_{userUuid}.json index 509cec8..f5ea9ac 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_users_{userUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_users_{userUuid}.json @@ -94,4 +94,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_org_{organizationUuid}.json b/dev/schemas/split-swagger/paths/api_v1_org_{organizationUuid}.json index b8119a5..3e422f1 100644 --- a/dev/schemas/split-swagger/paths/api_v1_org_{organizationUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_org_{organizationUuid}.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}.json index 0b70df3..bafbe38 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access.json index acfc66e..2191635 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access.json @@ -91,4 +91,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access_{userUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access_{userUuid}.json index 98c3098..722b584 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access_{userUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_access_{userUuid}.json @@ -107,4 +107,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_calculate-total.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_calculate-total.json index 7b59b1d..230363f 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_calculate-total.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_calculate-total.json @@ -52,4 +52,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_chart-summaries.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_chart-summaries.json index 8fc2cc2..c6b16cd 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_chart-summaries.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_chart-summaries.json @@ -37,7 +37,16 @@ "schema": { "type": "string" } + }, + { + "description": "Whether to exclude charts that are saved in dashboards", + "in": "query", + "name": "excludeChartsSavedInDashboard", + "required": false, + "schema": { + "type": "boolean" + } } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts.json index 45cb06b..379d82b 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts_code.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts_code.json new file mode 100644 index 0000000..5b04e33 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts_code.json @@ -0,0 +1,42 @@ +{ + "get": { + "operationId": "getChartsAsCode", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiChartAsCodeListResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Charts as code", + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts_{slug}_code.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts_{slug}_code.json new file mode 100644 index 0000000..c5963b6 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_charts_{slug}_code.json @@ -0,0 +1,74 @@ +{ + "post": { + "operationId": "upsertChartAsCode", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiChartAsCodeUpsertResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "slug", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "../components/schemas/Omit_ChartAsCode.metricQuery-or-chartConfig_.json" + }, + { + "properties": { + "metricQuery": {}, + "chartConfig": {} + }, + "required": [ + "metricQuery", + "chartConfig" + ], + "type": "object" + } + ] + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_createPreview.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_createPreview.json new file mode 100644 index 0000000..f815874 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_createPreview.json @@ -0,0 +1,79 @@ +{ + "post": { + "operationId": "createPreview", + "responses": { + "200": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "copyContent": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "required": [ + "copyContent", + "name" + ], + "type": "object" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_custom-metrics.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_custom-metrics.json index 4898d58..a9f13a4 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_custom-metrics.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_custom-metrics.json @@ -85,4 +85,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards.json new file mode 100644 index 0000000..895cfd4 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards.json @@ -0,0 +1,157 @@ +{ + "get": { + "operationId": "getDashboards", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiGetDashboardsResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + }, + "post": { + "operationId": "createDashboard", + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiCreateDashboardResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "duplicateFrom", + "required": false, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "$ref": "../components/schemas/DuplicateDashboardParams.json" + }, + { + "$ref": "../components/schemas/CreateDashboard.json" + } + ] + } + } + } + } + }, + "patch": { + "operationId": "updateDashboards", + "responses": { + "200": { + "description": "Updated", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiUpdateDashboardsResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "../components/schemas/UpdateMultipleDashboards.json" + }, + "type": "array" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards_code.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards_code.json new file mode 100644 index 0000000..939c93d --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards_code.json @@ -0,0 +1,41 @@ +{ + "get": { + "operationId": "getDashboardsAsCode", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiDashboardAsCodeListResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards_{slug}_code.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards_{slug}_code.json new file mode 100644 index 0000000..c0c3a28 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dashboards_{slug}_code.json @@ -0,0 +1,78 @@ +{ + "post": { + "operationId": "upsertDashboardAsCode", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiDashboardAsCodeUpsertResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "slug", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "../components/schemas/Omit_DashboardAsCode.filters-or-tiles-or-description_.json" + }, + { + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "tiles": {}, + "filters": {} + }, + "required": [ + "tiles", + "filters" + ], + "type": "object" + } + ] + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog.json index c21672f..7eb3f9e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog.json @@ -79,4 +79,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics-with-time-dimensions.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics-with-time-dimensions.json new file mode 100644 index 0000000..030396f --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics-with-time-dimensions.json @@ -0,0 +1,42 @@ +{ + "get": { + "operationId": "getMetricsWithTimeDimensions", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiMetricsWithAssociatedTimeDimensionResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Get metrics with time dimensions", + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics.json new file mode 100644 index 0000000..04a1a0d --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics.json @@ -0,0 +1,95 @@ +{ + "get": { + "operationId": "getMetricsCatalog", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiMetricsCatalog.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Get metrics catalog", + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "search", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "sort", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "$ref": "../components/schemas/ApiSortDirection.json" + } + }, + { + "in": "query", + "name": "categories", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree.json new file mode 100644 index 0000000..1b8b480 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree.json @@ -0,0 +1,52 @@ +{ + "get": { + "operationId": "getMetricsTree", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiGetMetricsTree.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "metricUuids", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges.json new file mode 100644 index 0000000..a3e6be9 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges.json @@ -0,0 +1,51 @@ +{ + "post": { + "operationId": "createMetricsTreeEdge", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiMetricsTreeEdgePayload.json" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges_{sourceCatalogSearchUuid}_{targetCatalogSearchUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges_{sourceCatalogSearchUuid}_{targetCatalogSearchUuid}.json new file mode 100644 index 0000000..e2f0607 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_tree_edges_{sourceCatalogSearchUuid}_{targetCatalogSearchUuid}.json @@ -0,0 +1,57 @@ +{ + "delete": { + "operationId": "deleteMetricsTreeEdge", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sourceCatalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "targetCatalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_{tableName}_{metricName}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_{tableName}_{metricName}.json new file mode 100644 index 0000000..c9431c1 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_metrics_{tableName}_{metricName}.json @@ -0,0 +1,58 @@ +{ + "get": { + "operationId": "getMetric", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiGetMetricPeek.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Get metric by table and metric name", + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "tableName", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "metricName", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories.json new file mode 100644 index 0000000..944ce78 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories.json @@ -0,0 +1,59 @@ +{ + "post": { + "operationId": "addCategoryToCatalogItem", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "tagUuid": { + "type": "string" + } + }, + "required": [ + "tagUuid" + ], + "type": "object" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories_{tagUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories_{tagUuid}.json new file mode 100644 index 0000000..9c43ed0 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_categories_{tagUuid}.json @@ -0,0 +1,59 @@ +{ + "delete": { + "operationId": "removeCategoryFromCatalogItem", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": {}, + "status": { + "type": "string" + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "tagUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_icon.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_icon.json new file mode 100644 index 0000000..249757d --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{catalogSearchUuid}_icon.json @@ -0,0 +1,72 @@ +{ + "patch": { + "operationId": "updateCatalogItemIcon", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Catalog" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "icon": { + "allOf": [ + { + "$ref": "../components/schemas/CatalogItemIcon.json" + } + ], + "nullable": true + } + }, + "required": [ + "icon" + ], + "type": "object" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics.json index 47258a8..c1354b1 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics.json @@ -64,4 +64,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics_{field}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics_{field}.json index 15acc65..26b75f0 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics_{field}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_analytics_{field}.json @@ -73,4 +73,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_metadata.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_metadata.json index 407c413..359f28d 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_metadata.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_dataCatalog_{table}_metadata.json @@ -64,4 +64,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores.json index 7a206c7..26ddcc4 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores.json @@ -104,4 +104,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}.json index 3359fc3..164618a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}.json @@ -62,4 +62,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_compileQuery.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_compileQuery.json index d461f39..d78bcab 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_compileQuery.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_compileQuery.json @@ -72,4 +72,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_downloadCsv.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_downloadCsv.json index 3b50d01..476983a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_downloadCsv.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_downloadCsv.json @@ -80,6 +80,12 @@ }, { "properties": { + "pivotColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, "chartName": { "type": "string" }, @@ -127,4 +133,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runQuery.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runQuery.json index 34b74c3..9b6196d 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runQuery.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runQuery.json @@ -61,4 +61,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runUnderlyingDataQuery.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runUnderlyingDataQuery.json index e5043b9..1909b21 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runUnderlyingDataQuery.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_explores_{exploreId}_runUnderlyingDataQuery.json @@ -61,4 +61,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration.json index 08edcf0..e07272e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration.json @@ -54,4 +54,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_chart_{chartUuid}_fields.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_chart_{chartUuid}_fields.json index 7fffae6..12abb85 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_chart_{chartUuid}_fields.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_chart_{chartUuid}_fields.json @@ -62,4 +62,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_custom-metrics.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_custom-metrics.json index a190ce2..05568a5 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_custom-metrics.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_git-integration_pull-requests_custom-metrics.json @@ -83,4 +83,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_groupAccesses.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_groupAccesses.json index 72d7cbf..c060686 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_groupAccesses.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_groupAccesses.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metadata.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metadata.json index a3979c8..541b714 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metadata.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metadata.json @@ -49,4 +49,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metricsExplorer_{explore}_{metric}_runMetricExplorerQuery.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metricsExplorer_{explore}_{metric}_runMetricExplorerQuery.json new file mode 100644 index 0000000..87293cb --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_metricsExplorer_{explore}_{metric}_runMetricExplorerQuery.json @@ -0,0 +1,100 @@ +{ + "post": { + "operationId": "runMetricExplorerQuery", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiMetricsExplorerQueryResults.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Run a metrics explorer query", + "tags": [ + "Metrics Explorer", + "Metrics", + "Explorer" + ], + "security": [], + "parameters": [ + { + "description": "The project UUID", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The explore name", + "in": "path", + "name": "explore", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The metric name", + "in": "path", + "name": "metric", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "startDate", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "endDate", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "comparison": { + "$ref": "../components/schemas/MetricExplorerComparisonType.json" + }, + "timeDimensionOverride": { + "$ref": "../components/schemas/TimeDimensionConfig.json" + } + }, + "required": [ + "comparison" + ], + "type": "object" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items.json index f6c78c6..7990fd3 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items.json @@ -49,4 +49,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items_order.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items_order.json index 5faffed..ed103e1 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items_order.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_pinned-lists_{pinnedListUuid}_items_order.json @@ -64,4 +64,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_schedulerSettings.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_schedulerSettings.json new file mode 100644 index 0000000..7e6552a --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_schedulerSettings.json @@ -0,0 +1,51 @@ +{ + "patch": { + "operationId": "updateSchedulerSettings", + "responses": { + "200": { + "description": "Updated", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/UpdateSchedulerSettings.json" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_semantic-layer-connection.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_semantic-layer-connection.json index cde7b2a..f1d2496 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_semantic-layer-connection.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_semantic-layer-connection.json @@ -42,10 +42,49 @@ "content": { "application/json": { "schema": { - "$ref": "../components/schemas/SemanticLayerConnection.json" + "$ref": "../components/schemas/SemanticLayerConnectionUpdate.json" } } } } + }, + "delete": { + "operationId": "deleteProjectSemanticLayerConnection", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces.json index 0ee45a8..97e396a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces.json @@ -92,4 +92,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}.json index be344e5..5b791f7 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}.json @@ -160,4 +160,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share.json index 8d92afc..e29ba8b 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share.json @@ -60,4 +60,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share_{groupUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share_{groupUuid}.json index 5d3bb6a..08f131d 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share_{groupUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_group_share_{groupUuid}.json @@ -59,4 +59,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share.json index 6273039..e6915d7 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share.json @@ -59,4 +59,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share_{userUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share_{userUuid}.json index 024d745..92f3d8b 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share_{userUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_spaces_{spaceUuid}_share_{userUuid}.json @@ -59,4 +59,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_sqlQuery.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_sqlQuery.json index 4150caf..ff8902b 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_sqlQuery.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_sqlQuery.json @@ -77,4 +77,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_tags.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_tags.json new file mode 100644 index 0000000..0385592 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_tags.json @@ -0,0 +1,90 @@ +{ + "post": { + "operationId": "createTag", + "responses": { + "201": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiCreateTagResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/Pick_Tag.name-or-color_.json" + } + } + } + } + }, + "get": { + "operationId": "getTags", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiGetTagsResponse.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_tags_{tagUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_tags_{tagUuid}.json new file mode 100644 index 0000000..a62b602 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_tags_{tagUuid}.json @@ -0,0 +1,90 @@ +{ + "delete": { + "operationId": "deleteTag", + "responses": { + "204": { + "description": "Deleted", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "tagUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + }, + "patch": { + "operationId": "updateTag", + "responses": { + "200": { + "description": "Updated", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiSuccessEmpty.json" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "tags": [ + "Projects" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "tagUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/DbTagUpdate.json" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials.json index bbaf671..8aea089 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials.json @@ -53,4 +53,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials_{userWarehouseCredentialsUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials_{userWarehouseCredentialsUuid}.json index 068ea8f..5e6bf98 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials_{userWarehouseCredentialsUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user-credentials_{userWarehouseCredentialsUuid}.json @@ -46,4 +46,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user_{userUuid}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user_{userUuid}.json index 275d112..c266451 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user_{userUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_user_{userUuid}.json @@ -48,4 +48,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate.json index 7a86b3e..9732544 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate.json @@ -123,4 +123,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate_{validationId}.json b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate_{validationId}.json index f9f1f99..ecd7199 100644 --- a/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate_{validationId}.json +++ b/dev/schemas/split-swagger/paths/api_v1_projects_{projectUuid}_validate_{validationId}.json @@ -49,4 +49,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_calculate-total.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_calculate-total.json index 3ef6a9f..5214ba7 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_calculate-total.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_calculate-total.json @@ -56,4 +56,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_chart-and-results.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_chart-and-results.json index e6f7eef..c35a3ab 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_chart-and-results.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_chart-and-results.json @@ -74,4 +74,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_downloadCsv.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_downloadCsv.json new file mode 100644 index 0000000..afd87f1 --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_downloadCsv.json @@ -0,0 +1,94 @@ +{ + "post": { + "operationId": "DownloadCsvFromSavedChart", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "properties": { + "jobId": { + "type": "string" + } + }, + "required": [ + "jobId" + ], + "type": "object" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Download a CSV from a saved chart uuid", + "tags": [ + "Charts" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "chartUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "csvLimit": { + "type": "number", + "format": "double", + "nullable": true + }, + "onlyRaw": { + "type": "boolean" + }, + "tileUuid": { + "type": "string" + }, + "dashboardFilters": {} + }, + "required": [ + "onlyRaw", + "dashboardFilters" + ], + "type": "object" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_history.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_history.json index f5c65d9..c76e1cd 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_history.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_history.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promote.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promote.json index 8172424..34bdf8c 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promote.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promote.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promoteDiff.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promoteDiff.json index 4c86ad6..c3dea0c 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promoteDiff.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_promoteDiff.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_results.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_results.json index 4bb7524..ff60e7b 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_results.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_results.json @@ -55,4 +55,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_rollback_{versionUuid}.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_rollback_{versionUuid}.json index a26ffd4..861ba40 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_rollback_{versionUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_rollback_{versionUuid}.json @@ -49,4 +49,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}.json index 4c17f6f..d551418 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}.json @@ -49,4 +49,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}_results.json b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}_results.json index dfb7a02..ad87873 100644 --- a/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}_results.json +++ b/dev/schemas/split-swagger/paths/api_v1_saved_{chartUuid}_version_{versionUuid}_results.json @@ -49,4 +49,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_schedulers_job_{jobId}_status.json b/dev/schemas/split-swagger/paths/api_v1_schedulers_job_{jobId}_status.json index 1fc51e4..db9141e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_schedulers_job_{jobId}_status.json +++ b/dev/schemas/split-swagger/paths/api_v1_schedulers_job_{jobId}_status.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_schedulers_send.json b/dev/schemas/split-swagger/paths/api_v1_schedulers_send.json index fcd9954..db35e6e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_schedulers_send.json +++ b/dev/schemas/split-swagger/paths/api_v1_schedulers_send.json @@ -41,4 +41,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_schedulers_{projectUuid}_logs.json b/dev/schemas/split-swagger/paths/api_v1_schedulers_{projectUuid}_logs.json index 26b3599..47ddf73 100644 --- a/dev/schemas/split-swagger/paths/api_v1_schedulers_{projectUuid}_logs.json +++ b/dev/schemas/split-swagger/paths/api_v1_schedulers_{projectUuid}_logs.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}.json b/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}.json index 0101728..a83087d 100644 --- a/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}.json @@ -146,4 +146,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_enabled.json b/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_enabled.json index d0d09dd..0326036 100644 --- a/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_enabled.json +++ b/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_enabled.json @@ -60,4 +60,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_jobs.json b/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_jobs.json index ef11567..59763eb 100644 --- a/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_jobs.json +++ b/dev/schemas/split-swagger/paths/api_v1_schedulers_{schedulerUuid}_jobs.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_share.json b/dev/schemas/split-swagger/paths/api_v1_share.json index de41fee..2f0d3b2 100644 --- a/dev/schemas/split-swagger/paths/api_v1_share.json +++ b/dev/schemas/split-swagger/paths/api_v1_share.json @@ -42,4 +42,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_share_{nanoId}.json b/dev/schemas/split-swagger/paths/api_v1_share_{nanoId}.json index f72102e..a0bf31a 100644 --- a/dev/schemas/split-swagger/paths/api_v1_share_{nanoId}.json +++ b/dev/schemas/split-swagger/paths/api_v1_share_{nanoId}.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_slack_channels.json b/dev/schemas/split-swagger/paths/api_v1_slack_channels.json index 6082ca8..506f3c2 100644 --- a/dev/schemas/split-swagger/paths/api_v1_slack_channels.json +++ b/dev/schemas/split-swagger/paths/api_v1_slack_channels.json @@ -28,6 +28,15 @@ "Integrations" ], "security": [], - "parameters": [] + "parameters": [ + { + "in": "query", + "name": "search", + "required": false, + "schema": { + "type": "string" + } + } + ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_slack_custom-settings.json b/dev/schemas/split-swagger/paths/api_v1_slack_custom-settings.json index 228b773..269cada 100644 --- a/dev/schemas/split-swagger/paths/api_v1_slack_custom-settings.json +++ b/dev/schemas/split-swagger/paths/api_v1_slack_custom-settings.json @@ -40,4 +40,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_ssh_key-pairs.json b/dev/schemas/split-swagger/paths/api_v1_ssh_key-pairs.json index 796e164..0bb54f1 100644 --- a/dev/schemas/split-swagger/paths/api_v1_ssh_key-pairs.json +++ b/dev/schemas/split-swagger/paths/api_v1_ssh_key-pairs.json @@ -29,4 +29,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user.json b/dev/schemas/split-swagger/paths/api_v1_user.json index b0ff26d..7415f66 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user.json +++ b/dev/schemas/split-swagger/paths/api_v1_user.json @@ -71,4 +71,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_login-options.json b/dev/schemas/split-swagger/paths/api_v1_user_login-options.json index d1f371b..9873c9e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_login-options.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_login-options.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_me.json b/dev/schemas/split-swagger/paths/api_v1_user_me.json index 264b3db..47c7f5e 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_me.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_me.json @@ -30,4 +30,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_me_allowedOrganizations.json b/dev/schemas/split-swagger/paths/api_v1_user_me_allowedOrganizations.json index dad2e31..be78ba4 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_me_allowedOrganizations.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_me_allowedOrganizations.json @@ -30,4 +30,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_me_email_otp.json b/dev/schemas/split-swagger/paths/api_v1_user_me_email_otp.json index 81ab912..1b4af19 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_me_email_otp.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_me_email_otp.json @@ -30,4 +30,4 @@ "security": [], "parameters": [] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_me_email_status.json b/dev/schemas/split-swagger/paths/api_v1_user_me_email_status.json index 5d831e9..3c5afc2 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_me_email_status.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_me_email_status.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_me_joinOrganization_{organizationUuid}.json b/dev/schemas/split-swagger/paths/api_v1_user_me_joinOrganization_{organizationUuid}.json index 4253200..5aaf812 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_me_joinOrganization_{organizationUuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_me_joinOrganization_{organizationUuid}.json @@ -40,4 +40,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_me_personal-access-tokens_{personalAccessTokenUuid}_rotate.json b/dev/schemas/split-swagger/paths/api_v1_user_me_personal-access-tokens_{personalAccessTokenUuid}_rotate.json new file mode 100644 index 0000000..5f4873a --- /dev/null +++ b/dev/schemas/split-swagger/paths/api_v1_user_me_personal-access-tokens_{personalAccessTokenUuid}_rotate.json @@ -0,0 +1,77 @@ +{ + "patch": { + "operationId": "Rotate personal access token", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "../components/schemas/PersonalAccessTokenWithToken.json" + }, + "status": { + "type": "string", + "enum": [ + "ok" + ], + "nullable": false + } + }, + "required": [ + "results", + "status" + ], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "../components/schemas/ApiErrorPayload.json" + } + } + } + } + }, + "description": "Rotate personal access token", + "tags": [ + "My Account" + ], + "security": [], + "parameters": [ + { + "in": "path", + "name": "personalAccessTokenUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "expiresAt": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "expiresAt" + ], + "type": "object" + } + } + } + } + } +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials.json b/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials.json index 0202a94..f50f04c 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials.json @@ -106,4 +106,4 @@ } } } -} +} \ No newline at end of file diff --git a/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials_{uuid}.json b/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials_{uuid}.json index 9aaeef5..c2a4c98 100644 --- a/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials_{uuid}.json +++ b/dev/schemas/split-swagger/paths/api_v1_user_warehouseCredentials_{uuid}.json @@ -105,4 +105,4 @@ } ] } -} +} \ No newline at end of file diff --git a/dev/schemas/swagger.json b/dev/schemas/swagger.json index 403cb8f..8100e39 100644 --- a/dev/schemas/swagger.json +++ b/dev/schemas/swagger.json @@ -84,6 +84,50 @@ "enum": ["field"], "type": "string" }, + "Pick_Tag.name-or-color-or-tagUuid_": { + "properties": { + "name": { + "type": "string" + }, + "color": { + "type": "string" + }, + "tagUuid": { + "type": "string" + } + }, + "required": ["name", "color", "tagUuid"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "EmojiIcon": { + "properties": { + "unicode": { + "type": "string" + } + }, + "required": ["unicode"], + "type": "object" + }, + "CustomIcon": { + "properties": { + "url": { + "type": "string" + } + }, + "required": ["url"], + "type": "object" + }, + "CatalogItemIcon": { + "anyOf": [ + { + "$ref": "#/components/schemas/EmojiIcon" + }, + { + "$ref": "#/components/schemas/CustomIcon" + } + ] + }, "CatalogField": { "allOf": [ { @@ -94,6 +138,24 @@ }, { "properties": { + "icon": { + "allOf": [ + { + "$ref": "#/components/schemas/CatalogItemIcon" + } + ], + "nullable": true + }, + "chartUsage": { + "type": "number", + "format": "double" + }, + "categories": { + "items": { + "$ref": "#/components/schemas/Pick_Tag.name-or-color-or-tagUuid_" + }, + "type": "array" + }, "tags": { "items": { "type": "string" @@ -111,9 +173,18 @@ }, "type": { "$ref": "#/components/schemas/CatalogType.Field" + }, + "catalogSearchUuid": { + "type": "string" } }, - "required": ["tableName", "type"], + "required": [ + "icon", + "categories", + "tableName", + "type", + "catalogSearchUuid" + ], "type": "object" } ] @@ -209,12 +280,30 @@ }, { "properties": { + "icon": { + "allOf": [ + { + "$ref": "#/components/schemas/CatalogItemIcon" + } + ], + "nullable": true + }, + "chartUsage": { + "type": "number", + "format": "double" + }, "joinedTables": { "items": { "$ref": "#/components/schemas/CompiledExploreJoin" }, "type": "array" }, + "categories": { + "items": { + "$ref": "#/components/schemas/Pick_Tag.name-or-color-or-tagUuid_" + }, + "type": "array" + }, "tags": { "items": { "type": "string" @@ -232,9 +321,17 @@ "$ref": "#/components/schemas/InlineError" }, "type": "array" + }, + "catalogSearchUuid": { + "type": "string" } }, - "required": ["type"], + "required": [ + "icon", + "categories", + "type", + "catalogSearchUuid" + ], "type": "object" } ] @@ -379,111 +476,60 @@ "ApiCatalogAnalyticsResults": { "$ref": "#/components/schemas/CatalogAnalytics" }, - "ApiCreateComment": { - "properties": { - "results": { - "type": "string" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } + "ApiMetricsCatalogResults": { + "items": { + "$ref": "#/components/schemas/CatalogField" }, - "required": ["results", "status"], - "type": "object" + "type": "array" }, - "Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_": { + "KnexPaginateArgs": { "properties": { - "text": { - "type": "string" - }, - "replyTo": { - "type": "string" - }, - "mentions": { - "items": { - "type": "string" - }, - "type": "array" + "page": { + "type": "number", + "format": "double" }, - "textHtml": { - "type": "string" + "pageSize": { + "type": "number", + "format": "double" } }, - "required": ["text", "mentions", "textHtml"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["page", "pageSize"], + "type": "object" }, - "Comment": { + "KnexPaginatedData_ApiMetricsCatalogResults_": { "properties": { - "mentions": { - "items": { - "type": "string" - }, - "type": "array" - }, - "canRemove": { - "type": "boolean" - }, - "resolved": { - "type": "boolean" - }, - "replies": { - "items": { - "$ref": "#/components/schemas/Comment" - }, - "type": "array" - }, - "replyTo": { - "type": "string" - }, - "user": { - "properties": { - "name": { - "type": "string" + "pagination": { + "allOf": [ + { + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": ["totalResults", "totalPageCount"], + "type": "object" } - }, - "required": ["name"], - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "textHtml": { - "type": "string" - }, - "text": { - "type": "string" + ] }, - "commentId": { - "type": "string" + "data": { + "$ref": "#/components/schemas/ApiMetricsCatalogResults" } }, - "required": [ - "mentions", - "canRemove", - "resolved", - "user", - "createdAt", - "textHtml", - "text", - "commentId" - ], + "required": ["data"], "type": "object" }, - "ApiGetComments": { + "ApiMetricsCatalog": { "properties": { "results": { - "properties": {}, - "additionalProperties": { - "items": { - "$ref": "#/components/schemas/Comment" - }, - "type": "array" - }, - "type": "object" + "$ref": "#/components/schemas/KnexPaginatedData_ApiMetricsCatalogResults_" }, "status": { "type": "string", @@ -494,572 +540,599 @@ "required": ["results", "status"], "type": "object" }, - "ApiResolveComment": { - "properties": { - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["status"], - "type": "object" + "ApiSortDirection": { + "type": "string", + "enum": ["asc", "desc"] }, - "ApiCsvUrlResponse": { - "properties": { - "results": { - "properties": { - "truncated": { - "type": "boolean" - }, - "status": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": ["truncated", "status", "url"], - "type": "object" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "Record_string.Record_string.string-or-string-Array__": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "DashboardTileTypes": { + "FieldType.METRIC": { + "enum": ["metric"], + "type": "string" + }, + "MetricType": { "enum": [ - "saved_chart", - "sql_chart", - "semantic_viewer_chart", - "markdown", - "loom" + "percentile", + "average", + "count", + "count_distinct", + "sum", + "min", + "max", + "number", + "median", + "string", + "date", + "timestamp", + "boolean" ], "type": "string" }, - "Required_CreateDashboardTileBase_": { - "properties": { - "uuid": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes" - }, - "x": { - "type": "number", - "format": "double" - }, - "y": { - "type": "number", - "format": "double" - }, - "h": { - "type": "number", - "format": "double" - }, - "w": { - "type": "number", - "format": "double" - }, - "tabUuid": { - "type": "string" - } - }, - "required": ["uuid", "type", "x", "y", "h", "w"], - "type": "object", - "description": "Make all properties in T required" - }, - "DashboardTileBase": { - "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" - }, - "DashboardTileTypes.SAVED_CHART": { - "enum": ["saved_chart"], + "ConditionalOperator": { + "enum": [ + "isNull", + "notNull", + "equals", + "notEquals", + "startsWith", + "endsWith", + "include", + "doesNotInclude", + "lessThan", + "lessThanOrEqual", + "greaterThan", + "greaterThanOrEqual", + "inThePast", + "notInThePast", + "inTheNext", + "inTheCurrent", + "notInTheCurrent", + "inBetween" + ], "type": "string" }, - "DashboardChartTileProperties": { + "MetricFilterRule": { "properties": { - "properties": { + "values": { + "items": {}, + "type": "array" + }, + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" + }, + "id": { + "type": "string" + }, + "target": { "properties": { - "lastVersionChartKind": { - "allOf": [ - { - "$ref": "#/components/schemas/ChartKind" - } - ], - "nullable": true - }, - "chartName": { - "type": "string", - "nullable": true - }, - "belongsToDashboard": { - "type": "boolean" - }, - "savedChartUuid": { - "type": "string", - "nullable": true - }, - "hideTitle": { - "type": "boolean" - }, - "title": { + "fieldRef": { "type": "string" } }, - "required": ["savedChartUuid"], + "required": ["fieldRef"], "type": "object" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.SAVED_CHART" + "settings": {}, + "disabled": { + "type": "boolean" + }, + "required": { + "type": "boolean" } }, - "required": ["properties", "type"], - "type": "object" + "required": ["operator", "id", "target"], + "type": "object", + "additionalProperties": true }, - "DashboardChartTile": { - "allOf": [ + "CustomFormatType": { + "enum": [ + "default", + "percent", + "currency", + "number", + "id", + "date", + "timestamp" + ], + "type": "string" + }, + "NumberSeparator": { + "enum": [ + "default", + "commaPeriod", + "spacePeriod", + "periodComma", + "noSeparatorPeriod" + ], + "type": "string" + }, + "Compact": { + "enum": ["thousands", "millions", "billions", "trillions"], + "type": "string" + }, + "CompactOrAlias": { + "anyOf": [ { - "$ref": "#/components/schemas/DashboardTileBase" + "$ref": "#/components/schemas/Compact" }, { - "$ref": "#/components/schemas/DashboardChartTileProperties" + "type": "string", + "enum": [ + "K", + "thousand", + "M", + "million", + "B", + "billion", + "T", + "trillion" + ] } ] }, - "DashboardTileTypes.MARKDOWN": { - "enum": ["markdown"], + "TimeFrames": { + "enum": [ + "RAW", + "YEAR", + "QUARTER", + "MONTH", + "WEEK", + "DAY", + "HOUR", + "MINUTE", + "SECOND", + "MILLISECOND", + "DAY_OF_WEEK_INDEX", + "DAY_OF_MONTH_NUM", + "DAY_OF_YEAR_NUM", + "WEEK_NUM", + "MONTH_NUM", + "QUARTER_NUM", + "YEAR_NUM", + "DAY_OF_WEEK_NAME", + "MONTH_NAME", + "QUARTER_NAME", + "HOUR_OF_DAY_NUM", + "MINUTE_OF_HOUR_NUM" + ], "type": "string" }, - "DashboardMarkdownTileProperties": { + "CustomFormat": { "properties": { - "properties": { - "properties": { - "content": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "required": ["content", "title"], - "type": "object" - }, "type": { - "$ref": "#/components/schemas/DashboardTileTypes.MARKDOWN" - } - }, - "required": ["properties", "type"], - "type": "object" - }, - "DashboardMarkdownTile": { - "allOf": [ - { - "$ref": "#/components/schemas/DashboardTileBase" + "$ref": "#/components/schemas/CustomFormatType" }, - { - "$ref": "#/components/schemas/DashboardMarkdownTileProperties" + "round": { + "type": "number", + "format": "double" + }, + "separator": { + "$ref": "#/components/schemas/NumberSeparator" + }, + "currency": { + "type": "string" + }, + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "prefix": { + "type": "string" + }, + "suffix": { + "type": "string" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeFrames" } - ] - }, - "DashboardTileTypes.LOOM": { - "enum": ["loom"], - "type": "string" + }, + "required": ["type"], + "type": "object", + "additionalProperties": true }, - "DashboardLoomTileProperties": { + "DefaultTimeDimension": { "properties": { - "properties": { - "properties": { - "url": { - "type": "string" - }, - "hideTitle": { - "type": "boolean" - }, - "title": { - "type": "string" - } - }, - "required": ["url", "title"], - "type": "object" + "interval": { + "$ref": "#/components/schemas/TimeFrames" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.LOOM" + "field": { + "type": "string" } }, - "required": ["properties", "type"], + "required": ["interval", "field"], "type": "object" }, - "DashboardLoomTile": { - "allOf": [ - { - "$ref": "#/components/schemas/DashboardTileBase" + "SourcePosition": { + "properties": { + "character": { + "type": "number", + "format": "double" }, - { - "$ref": "#/components/schemas/DashboardLoomTileProperties" + "line": { + "type": "number", + "format": "double" } - ] - }, - "DashboardTileTypes.SQL_CHART": { - "enum": ["sql_chart"], - "type": "string" + }, + "required": ["character", "line"], + "type": "object" }, - "DashboardSqlChartTileProperties": { + "Source": { "properties": { - "properties": { + "content": { + "type": "string" + }, + "highlight": { "properties": { - "hideTitle": { - "type": "boolean" - }, - "chartName": { - "type": "string" - }, - "savedSqlUuid": { - "type": "string", - "nullable": true + "end": { + "$ref": "#/components/schemas/SourcePosition" }, - "title": { - "type": "string" + "start": { + "$ref": "#/components/schemas/SourcePosition" } }, - "required": ["chartName", "savedSqlUuid"], + "required": ["end", "start"], "type": "object" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.SQL_CHART" - } - }, - "required": ["properties", "type"], - "type": "object" - }, - "DashboardSqlChartTile": { - "allOf": [ - { - "$ref": "#/components/schemas/DashboardTileBase" - }, - { - "$ref": "#/components/schemas/DashboardSqlChartTileProperties" - } - ] - }, - "DashboardTileTypes.SEMANTIC_VIEWER_CHART": { - "enum": ["semantic_viewer_chart"], - "type": "string" - }, - "DashboardSemanticViewerChartTileProperties": { - "properties": { - "properties": { + "range": { "properties": { - "hideTitle": { - "type": "boolean" - }, - "chartName": { - "type": "string" - }, - "savedSemanticViewerChartUuid": { - "type": "string", - "nullable": true + "end": { + "$ref": "#/components/schemas/SourcePosition" }, - "title": { - "type": "string" + "start": { + "$ref": "#/components/schemas/SourcePosition" } }, - "required": [ - "chartName", - "savedSemanticViewerChartUuid" - ], + "required": ["end", "start"], "type": "object" }, - "type": { - "$ref": "#/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART" + "path": { + "type": "string" } }, - "required": ["properties", "type"], + "required": ["content", "range", "path"], "type": "object" }, - "DashboardSemanticViewerChartTile": { - "allOf": [ - { - "$ref": "#/components/schemas/DashboardTileBase" - }, - { - "$ref": "#/components/schemas/DashboardSemanticViewerChartTileProperties" - } - ] - }, - "DashboardTile": { - "anyOf": [ - { - "$ref": "#/components/schemas/DashboardChartTile" - }, - { - "$ref": "#/components/schemas/DashboardMarkdownTile" - }, - { - "$ref": "#/components/schemas/DashboardLoomTile" - }, - { - "$ref": "#/components/schemas/DashboardSqlChartTile" - }, - { - "$ref": "#/components/schemas/DashboardSemanticViewerChartTile" - } - ] + "Format": { + "enum": ["km", "mi", "usd", "gbp", "eur", "id", "percent"], + "type": "string" }, - "DashboardFieldTarget": { + "FieldUrl": { "properties": { - "tableName": { + "label": { "type": "string" }, - "fieldId": { + "url": { "type": "string" } }, - "required": ["tableName", "fieldId"], + "required": ["label", "url"], "type": "object" }, - "ConditionalOperator": { - "enum": [ - "isNull", - "notNull", - "equals", - "notEquals", - "startsWith", - "endsWith", - "include", - "doesNotInclude", - "lessThan", - "lessThanOrEqual", - "greaterThan", - "greaterThanOrEqual", - "inThePast", - "notInThePast", - "inTheNext", - "inTheCurrent", - "notInTheCurrent", - "inBetween" - ], - "type": "string" - }, - "FilterRule_ConditionalOperator.T.V.any_": { + "CompiledMetric": { "properties": { - "values": { - "items": {}, - "type": "array" + "fieldType": { + "$ref": "#/components/schemas/FieldType.METRIC" }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" + "type": { + "$ref": "#/components/schemas/MetricType" }, - "id": { + "name": { "type": "string" }, - "target": { - "$ref": "#/components/schemas/DashboardFieldTarget" + "label": { + "type": "string" }, - "settings": {}, - "disabled": { - "type": "boolean" + "table": { + "type": "string" }, - "required": { + "tableLabel": { + "type": "string" + }, + "sql": { + "type": "string" + }, + "description": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Source" + }, + "hidden": { "type": "boolean" - } - }, - "required": ["operator", "id", "target"], - "type": "object", - "additionalProperties": true - }, - "Record_string.DashboardTileTarget_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "DashboardFilterRule": { - "allOf": [ - { - "$ref": "#/components/schemas/FilterRule_ConditionalOperator.T.V.any_" }, - { - "properties": { - "label": { - "type": "string" - }, - "tileTargets": { - "$ref": "#/components/schemas/Record_string.DashboardTileTarget_" - } - }, - "type": "object" - } - ] - }, - "DashboardFilters": { - "properties": { - "tableCalculations": { + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "round": { + "type": "number", + "format": "double" + }, + "format": { + "$ref": "#/components/schemas/Format" + }, + "groupLabel": { + "type": "string", + "deprecated": true + }, + "groups": { "items": { - "$ref": "#/components/schemas/DashboardFilterRule" + "type": "string" }, "type": "array" }, - "metrics": { + "urls": { "items": { - "$ref": "#/components/schemas/DashboardFilterRule" + "$ref": "#/components/schemas/FieldUrl" }, "type": "array" }, - "dimensions": { + "index": { + "type": "number", + "format": "double" + }, + "tags": { "items": { - "$ref": "#/components/schemas/DashboardFilterRule" + "type": "string" }, "type": "array" - } - }, - "required": ["tableCalculations", "metrics", "dimensions"], - "type": "object" - }, - "UpdatedByUser": { - "properties": { - "userUuid": { - "type": "string" }, - "firstName": { - "type": "string" + "isAutoGenerated": { + "type": "boolean" }, - "lastName": { - "type": "string" - } - }, - "required": ["userUuid", "firstName", "lastName"], - "type": "object", - "additionalProperties": true - }, - "DashboardTab": { - "properties": { - "order": { + "showUnderlyingValues": { + "items": { + "type": "string" + }, + "type": "array" + }, + "filters": { + "items": { + "$ref": "#/components/schemas/MetricFilterRule" + }, + "type": "array" + }, + "percentile": { "type": "number", "format": "double" }, - "name": { + "formatOptions": { + "$ref": "#/components/schemas/CustomFormat" + }, + "dimensionReference": { "type": "string" }, - "uuid": { + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + }, + "defaultTimeDimension": { + "$ref": "#/components/schemas/DefaultTimeDimension" + }, + "compiledSql": { "type": "string" + }, + "tablesReferences": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tablesRequiredAttributes": { + "$ref": "#/components/schemas/Record_string.Record_string.string-or-string-Array__" } }, - "required": ["order", "name", "uuid"], - "type": "object" + "required": [ + "fieldType", + "type", + "name", + "label", + "table", + "tableLabel", + "sql", + "hidden", + "isAutoGenerated", + "compiledSql" + ], + "type": "object", + "additionalProperties": true }, - "Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__": { + "FieldType.DIMENSION": { + "enum": ["dimension"], + "type": "string" + }, + "DimensionType": { + "enum": ["string", "number", "timestamp", "date", "boolean"], + "type": "string" + }, + "Record_string.string_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "CompiledDimension": { "properties": { + "fieldType": { + "$ref": "#/components/schemas/FieldType.DIMENSION" + }, + "type": { + "$ref": "#/components/schemas/DimensionType" + }, "name": { "type": "string" }, - "description": { + "label": { "type": "string" }, - "uuid": { + "table": { "type": "string" }, - "spaceName": { + "tableLabel": { "type": "string" }, - "spaceUuid": { + "sql": { "type": "string" }, - "projectUuid": { + "description": { "type": "string" }, - "organizationUuid": { - "type": "string" + "source": { + "$ref": "#/components/schemas/Source" }, - "pinnedListUuid": { - "type": "string", - "nullable": true + "hidden": { + "type": "boolean" }, - "slug": { - "type": "string" + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" }, - "dashboardVersionId": { + "round": { "type": "number", "format": "double" }, - "updatedAt": { + "format": { + "$ref": "#/components/schemas/Format" + }, + "groupLabel": { "type": "string", - "format": "date-time" + "deprecated": true }, - "tiles": { + "groups": { "items": { - "$ref": "#/components/schemas/DashboardTile" + "type": "string" }, "type": "array" }, - "filters": { - "$ref": "#/components/schemas/DashboardFilters" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" + "urls": { + "items": { + "$ref": "#/components/schemas/FieldUrl" + }, + "type": "array" }, - "views": { + "index": { "type": "number", "format": "double" }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true + "tags": { + "items": { + "type": "string" + }, + "type": "array" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "group": { + "type": "string", + "deprecated": true }, - "tabs": { + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + }, + "timeInterval": { + "$ref": "#/components/schemas/TimeFrames" + }, + "timeIntervalBaseDimensionName": { + "type": "string" + }, + "isAdditionalDimension": { + "type": "boolean" + }, + "colors": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "isIntervalBase": { + "type": "boolean" + }, + "compiledSql": { + "type": "string" + }, + "tablesReferences": { "items": { - "$ref": "#/components/schemas/DashboardTab" + "type": "string" }, "type": "array" + }, + "tablesRequiredAttributes": { + "$ref": "#/components/schemas/Record_string.Record_string.string-or-string-Array__" } }, "required": [ + "fieldType", + "type", "name", - "uuid", - "spaceName", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "slug", - "dashboardVersionId", - "updatedAt", - "tiles", - "filters", - "views", - "firstViewedAt", - "pinnedListOrder", - "tabs" + "label", + "table", + "tableLabel", + "sql", + "hidden", + "compiledSql" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": true }, - "Omit_Dashboard.isPrivate-or-access_": { - "$ref": "#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__", - "description": "Construct a type with the properties of T except for those in type K." + "DimensionType.DATE": { + "enum": ["date"], + "type": "string" }, - "DashboardDAO": { - "$ref": "#/components/schemas/Omit_Dashboard.isPrivate-or-access_" + "DimensionType.TIMESTAMP": { + "enum": ["timestamp"], + "type": "string" }, - "ApiPromoteDashboardResponse": { + "MetricWithAssociatedTimeDimension": { + "allOf": [ + { + "$ref": "#/components/schemas/CompiledMetric" + }, + { + "properties": { + "availableTimeDimensions": { + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/CompiledDimension" + }, + { + "properties": { + "type": { + "anyOf": [ + { + "$ref": "#/components/schemas/DimensionType.DATE" + }, + { + "$ref": "#/components/schemas/DimensionType.TIMESTAMP" + } + ] + } + }, + "required": ["type"], + "type": "object" + } + ] + }, + "type": "array" + }, + "timeDimension": { + "allOf": [ + { + "$ref": "#/components/schemas/DefaultTimeDimension" + }, + { + "properties": { + "table": { + "type": "string" + } + }, + "required": ["table"], + "type": "object" + } + ] + } + }, + "type": "object" + } + ] + }, + "ApiGetMetricPeek": { "properties": { "results": { - "$ref": "#/components/schemas/DashboardDAO" + "$ref": "#/components/schemas/MetricWithAssociatedTimeDimension" }, "status": { "type": "string", @@ -1070,2636 +1143,2663 @@ "required": ["results", "status"], "type": "object" }, - "PromotionAction": { - "enum": ["no changes", "create", "update", "delete"], - "type": "string" + "ApiMetricsWithAssociatedTimeDimensionResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/MetricWithAssociatedTimeDimension" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" }, - "Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__": { + "ApiSuccessEmpty": { + "properties": { + "results": {}, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["status"], + "type": "object" + }, + "Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_": { "properties": { "name": { "type": "string" }, - "uuid": { + "catalogSearchUuid": { "type": "string" }, + "tableName": { + "type": "string" + } + }, + "required": ["name", "catalogSearchUuid", "tableName"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CatalogMetricsTreeNode": { + "$ref": "#/components/schemas/Pick_CatalogField.catalogSearchUuid-or-name-or-tableName_" + }, + "CatalogMetricsTreeEdge": { + "properties": { "projectUuid": { "type": "string" }, - "organizationUuid": { - "type": "string" - }, - "pinnedListUuid": { + "createdByUserUuid": { "type": "string", "nullable": true }, - "slug": { - "type": "string" - }, - "isPrivate": { - "type": "boolean" - }, - "access": { - "items": { - "type": "string" - }, - "type": "array" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "createdAt": { + "type": "string", + "format": "date-time" }, - "chartCount": { - "type": "number", - "format": "double" + "target": { + "$ref": "#/components/schemas/CatalogMetricsTreeNode" }, - "dashboardCount": { - "type": "number", - "format": "double" + "source": { + "$ref": "#/components/schemas/CatalogMetricsTreeNode" } }, "required": [ - "name", - "uuid", "projectUuid", - "organizationUuid", - "pinnedListUuid", - "slug", - "isPrivate", - "access", - "pinnedListOrder", - "chartCount", - "dashboardCount" + "createdByUserUuid", + "createdAt", + "target", + "source" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_SpaceSummary.userAccess_": { - "$ref": "#/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "PromotedSpace": { - "$ref": "#/components/schemas/Omit_SpaceSummary.userAccess_" + "type": "object" }, - "PromotedDashboard": { - "allOf": [ - { - "$ref": "#/components/schemas/DashboardDAO" - }, - { + "ApiGetMetricsTree": { + "properties": { + "results": { "properties": { - "spaceSlug": { - "type": "string" + "edges": { + "items": { + "$ref": "#/components/schemas/CatalogMetricsTreeEdge" + }, + "type": "array" } }, - "required": ["spaceSlug"], + "required": ["edges"], "type": "object" - } - ] - }, - "FieldId": { - "type": "string" - }, - "FilterGroup": { - "anyOf": [ - { - "$ref": "#/components/schemas/OrFilterGroup" }, - { - "$ref": "#/components/schemas/AndFilterGroup" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } - ] + }, + "required": ["results", "status"], + "type": "object" }, - "FieldTarget": { + "ApiMetricsTreeEdgePayload": { "properties": { - "fieldId": { + "targetCatalogSearchUuid": { + "type": "string" + }, + "sourceCatalogSearchUuid": { "type": "string" } }, - "required": ["fieldId"], + "required": [ + "targetCatalogSearchUuid", + "sourceCatalogSearchUuid" + ], "type": "object" }, - "FilterRule": { + "ApiCreateComment": { "properties": { - "values": { - "items": {}, - "type": "array" - }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" - }, - "id": { + "results": { "type": "string" }, - "target": { - "$ref": "#/components/schemas/FieldTarget" - }, - "settings": {}, - "disabled": { - "type": "boolean" - }, - "required": { - "type": "boolean" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["operator", "id", "target"], - "type": "object", - "additionalProperties": true - }, - "FilterGroupItem": { - "anyOf": [ - { - "$ref": "#/components/schemas/FilterGroup" - }, - { - "$ref": "#/components/schemas/FilterRule" - } - ] + "required": ["results", "status"], + "type": "object" }, - "OrFilterGroup": { + "Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_": { "properties": { - "or": { + "text": { + "type": "string" + }, + "replyTo": { + "type": "string" + }, + "mentions": { "items": { - "$ref": "#/components/schemas/FilterGroupItem" + "type": "string" }, "type": "array" }, - "id": { + "textHtml": { "type": "string" } }, - "required": ["or", "id"], - "type": "object" + "required": ["text", "mentions", "textHtml"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "AndFilterGroup": { + "Comment": { "properties": { - "and": { + "mentions": { "items": { - "$ref": "#/components/schemas/FilterGroupItem" + "type": "string" }, "type": "array" }, - "id": { + "canRemove": { + "type": "boolean" + }, + "resolved": { + "type": "boolean" + }, + "replies": { + "items": { + "$ref": "#/components/schemas/Comment" + }, + "type": "array" + }, + "replyTo": { + "type": "string" + }, + "user": { + "properties": { + "name": { + "type": "string" + } + }, + "required": ["name"], + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "textHtml": { + "type": "string" + }, + "text": { + "type": "string" + }, + "commentId": { "type": "string" } }, - "required": ["and", "id"], + "required": [ + "mentions", + "canRemove", + "resolved", + "user", + "createdAt", + "textHtml", + "text", + "commentId" + ], "type": "object" }, - "Filters": { + "ApiGetComments": { "properties": { - "tableCalculations": { - "$ref": "#/components/schemas/FilterGroup" - }, - "metrics": { - "$ref": "#/components/schemas/FilterGroup" + "results": { + "properties": {}, + "additionalProperties": { + "items": { + "$ref": "#/components/schemas/Comment" + }, + "type": "array" + }, + "type": "object" }, - "dimensions": { - "$ref": "#/components/schemas/FilterGroup" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, + "required": ["results", "status"], "type": "object" }, - "SortField": { + "ApiResolveComment": { "properties": { - "descending": { - "type": "boolean" - }, - "fieldId": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["descending", "fieldId"], + "required": ["status"], "type": "object" }, - "CustomFormatType": { - "enum": [ - "default", - "percent", - "currency", - "number", - "id", - "date", - "timestamp" - ], - "type": "string" - }, - "NumberSeparator": { - "enum": [ - "default", - "commaPeriod", - "spacePeriod", - "periodComma", - "noSeparatorPeriod" - ], - "type": "string" - }, - "Compact": { - "enum": ["thousands", "millions", "billions", "trillions"], - "type": "string" - }, - "CompactOrAlias": { - "anyOf": [ - { - "$ref": "#/components/schemas/Compact" + "ApiCsvUrlResponse": { + "properties": { + "results": { + "properties": { + "truncated": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": ["truncated", "status", "url"], + "type": "object" }, - { + "status": { "type": "string", - "enum": [ - "K", - "thousand", - "M", - "million", - "B", - "billion", - "T", - "trillion" - ] + "enum": ["ok"], + "nullable": false } - ] + }, + "required": ["results", "status"], + "type": "object" }, - "TimeFrames": { + "DashboardTileTypes": { "enum": [ - "RAW", - "YEAR", - "QUARTER", - "MONTH", - "WEEK", - "DAY", - "HOUR", - "MINUTE", - "SECOND", - "MILLISECOND", - "DAY_OF_WEEK_INDEX", - "DAY_OF_MONTH_NUM", - "DAY_OF_YEAR_NUM", - "WEEK_NUM", - "MONTH_NUM", - "QUARTER_NUM", - "YEAR_NUM", - "DAY_OF_WEEK_NAME", - "MONTH_NAME", - "QUARTER_NAME", - "HOUR_OF_DAY_NUM", - "MINUTE_OF_HOUR_NUM" + "saved_chart", + "sql_chart", + "semantic_viewer_chart", + "markdown", + "loom" ], "type": "string" }, - "CustomFormat": { + "Required_CreateDashboardTileBase_": { "properties": { + "uuid": { + "type": "string" + }, "type": { - "$ref": "#/components/schemas/CustomFormatType" + "$ref": "#/components/schemas/DashboardTileTypes" }, - "round": { + "x": { "type": "number", "format": "double" }, - "separator": { - "$ref": "#/components/schemas/NumberSeparator" - }, - "currency": { - "type": "string" + "y": { + "type": "number", + "format": "double" }, - "compact": { - "$ref": "#/components/schemas/CompactOrAlias" + "h": { + "type": "number", + "format": "double" }, - "prefix": { - "type": "string" + "w": { + "type": "number", + "format": "double" }, - "suffix": { + "tabUuid": { "type": "string" - }, - "timeInterval": { - "$ref": "#/components/schemas/TimeFrames" } }, - "required": ["type"], + "required": ["uuid", "type", "x", "y", "h", "w"], "type": "object", - "additionalProperties": true + "description": "Make all properties in T required" }, - "TableCalculationType": { - "enum": ["number", "string", "date", "timestamp", "boolean"], + "DashboardTileBase": { + "$ref": "#/components/schemas/Required_CreateDashboardTileBase_" + }, + "DashboardTileTypes.SAVED_CHART": { + "enum": ["saved_chart"], "type": "string" }, - "TableCalculation": { + "DashboardChartTileProperties": { "properties": { - "type": { - "$ref": "#/components/schemas/TableCalculationType" - }, - "format": { - "$ref": "#/components/schemas/CustomFormat" - }, - "sql": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "name": { - "type": "string" + "properties": { + "properties": { + "chartSlug": { + "type": "string" + }, + "lastVersionChartKind": { + "allOf": [ + { + "$ref": "#/components/schemas/ChartKind" + } + ], + "nullable": true + }, + "chartName": { + "type": "string", + "nullable": true + }, + "belongsToDashboard": { + "type": "boolean" + }, + "savedChartUuid": { + "type": "string", + "nullable": true + }, + "hideTitle": { + "type": "boolean" + }, + "title": { + "type": "string" + } + }, + "required": ["savedChartUuid"], + "type": "object" }, - "index": { - "type": "number", - "format": "double" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.SAVED_CHART" } }, - "required": ["sql", "displayName", "name"], + "required": ["properties", "type"], "type": "object" }, - "MetricType": { - "enum": [ - "percentile", - "average", - "count", - "count_distinct", - "sum", - "min", - "max", - "number", - "median", - "string", - "date", - "timestamp", - "boolean" - ], - "type": "string" + "DashboardChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardTileBase" + }, + { + "$ref": "#/components/schemas/DashboardChartTileProperties" + } + ] }, - "Format": { - "enum": ["km", "mi", "usd", "gbp", "eur", "id", "percent"], + "DashboardTileTypes.MARKDOWN": { + "enum": ["markdown"], "type": "string" }, - "MetricFilterRule": { + "DashboardMarkdownTileProperties": { "properties": { - "values": { - "items": {}, - "type": "array" - }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" - }, - "id": { - "type": "string" - }, - "target": { + "properties": { "properties": { - "fieldRef": { + "content": { + "type": "string" + }, + "title": { "type": "string" } }, - "required": ["fieldRef"], + "required": ["content", "title"], "type": "object" }, - "settings": {}, - "disabled": { - "type": "boolean" - }, - "required": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.MARKDOWN" } }, - "required": ["operator", "id", "target"], - "type": "object", - "additionalProperties": true + "required": ["properties", "type"], + "type": "object" }, - "AdditionalMetric": { - "properties": { - "label": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/MetricType" - }, - "description": { - "type": "string" - }, - "sql": { - "type": "string" + "DashboardMarkdownTile": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardTileBase" }, - "hidden": { - "type": "boolean" - }, - "round": { - "type": "number", - "format": "double" - }, - "compact": { - "$ref": "#/components/schemas/CompactOrAlias" - }, - "format": { - "$ref": "#/components/schemas/Format" - }, - "table": { - "type": "string" - }, - "name": { - "type": "string" - }, - "index": { - "type": "number", - "format": "double" - }, - "filters": { - "items": { - "$ref": "#/components/schemas/MetricFilterRule" - }, - "type": "array" - }, - "baseDimensionName": { - "type": "string" - }, - "uuid": { - "type": "string", - "nullable": true - }, - "percentile": { - "type": "number", - "format": "double" - }, - "formatOptions": { - "$ref": "#/components/schemas/CustomFormat" + { + "$ref": "#/components/schemas/DashboardMarkdownTileProperties" } - }, - "required": ["type", "sql", "table", "name"], - "type": "object", - "additionalProperties": true - }, - "CustomDimensionType.BIN": { - "enum": ["bin"], - "type": "string" + ] }, - "BinType": { - "enum": ["fixed_number", "fixed_width", "custom_range"], + "DashboardTileTypes.LOOM": { + "enum": ["loom"], "type": "string" }, - "BinRange": { + "DashboardLoomTileProperties": { "properties": { - "to": { - "type": "number", - "format": "double" + "properties": { + "properties": { + "url": { + "type": "string" + }, + "hideTitle": { + "type": "boolean" + }, + "title": { + "type": "string" + } + }, + "required": ["url", "title"], + "type": "object" }, - "from": { - "type": "number", - "format": "double" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.LOOM" } }, + "required": ["properties", "type"], "type": "object" }, - "CustomDimensionType": { - "enum": ["bin", "sql"], - "type": "string" - }, - "CustomBinDimension": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "table": { - "type": "string" - }, - "type": { - "$ref": "#/components/schemas/CustomDimensionType.BIN" - }, - "dimensionId": { - "$ref": "#/components/schemas/FieldId" - }, - "binType": { - "$ref": "#/components/schemas/BinType" - }, - "binNumber": { - "type": "number", - "format": "double" - }, - "binWidth": { - "type": "number", - "format": "double" + "DashboardLoomTile": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardTileBase" }, - "customRange": { - "items": { - "$ref": "#/components/schemas/BinRange" - }, - "type": "array" + { + "$ref": "#/components/schemas/DashboardLoomTileProperties" } - }, - "required": [ - "id", - "name", - "table", - "type", - "dimensionId", - "binType" - ], - "type": "object", - "additionalProperties": true - }, - "CustomDimensionType.SQL": { - "enum": ["sql"], - "type": "string" + ] }, - "DimensionType": { - "enum": ["string", "number", "timestamp", "date", "boolean"], + "DashboardTileTypes.SQL_CHART": { + "enum": ["sql_chart"], "type": "string" }, - "CustomSqlDimension": { + "DashboardSqlChartTileProperties": { "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "table": { - "type": "string" + "properties": { + "properties": { + "chartSlug": { + "type": "string" + }, + "hideTitle": { + "type": "boolean" + }, + "chartName": { + "type": "string" + }, + "savedSqlUuid": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + } + }, + "required": ["chartName", "savedSqlUuid"], + "type": "object" }, "type": { - "$ref": "#/components/schemas/CustomDimensionType.SQL" - }, - "sql": { - "type": "string" - }, - "dimensionType": { - "$ref": "#/components/schemas/DimensionType" + "$ref": "#/components/schemas/DashboardTileTypes.SQL_CHART" } }, - "required": [ - "id", - "name", - "table", - "type", - "sql", - "dimensionType" - ], - "type": "object", - "additionalProperties": true + "required": ["properties", "type"], + "type": "object" }, - "CustomDimension": { - "anyOf": [ + "DashboardSqlChartTile": { + "allOf": [ { - "$ref": "#/components/schemas/CustomBinDimension" + "$ref": "#/components/schemas/DashboardTileBase" }, { - "$ref": "#/components/schemas/CustomSqlDimension" + "$ref": "#/components/schemas/DashboardSqlChartTileProperties" } ] }, - "Pick_CompiledDimension.label-or-name_": { - "properties": { - "name": { - "type": "string" - }, - "label": { - "type": "string" - } - }, - "required": ["name", "label"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "DashboardTileTypes.SEMANTIC_VIEWER_CHART": { + "enum": ["semantic_viewer_chart"], + "type": "string" }, - "MetricQuery": { + "DashboardSemanticViewerChartTileProperties": { "properties": { - "metadata": { + "properties": { "properties": { - "hasADateDimension": { - "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" + "chartSlug": { + "type": "string" + }, + "hideTitle": { + "type": "boolean" + }, + "chartName": { + "type": "string" + }, + "savedSemanticViewerChartUuid": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" } }, - "required": ["hasADateDimension"], + "required": [ + "chartName", + "savedSemanticViewerChartUuid" + ], "type": "object" }, - "timezone": { - "type": "string" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes.SEMANTIC_VIEWER_CHART" + } + }, + "required": ["properties", "type"], + "type": "object" + }, + "DashboardSemanticViewerChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardTileBase" }, - "customDimensions": { - "items": { - "$ref": "#/components/schemas/CustomDimension" - }, - "type": "array" - }, - "additionalMetrics": { - "items": { - "$ref": "#/components/schemas/AdditionalMetric" - }, - "type": "array" - }, - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/TableCalculation" - }, - "type": "array" - }, - "limit": { - "type": "number", - "format": "double" + { + "$ref": "#/components/schemas/DashboardSemanticViewerChartTileProperties" + } + ] + }, + "DashboardTile": { + "anyOf": [ + { + "$ref": "#/components/schemas/DashboardChartTile" }, - "sorts": { - "items": { - "$ref": "#/components/schemas/SortField" - }, - "type": "array" + { + "$ref": "#/components/schemas/DashboardMarkdownTile" }, - "filters": { - "$ref": "#/components/schemas/Filters" + { + "$ref": "#/components/schemas/DashboardLoomTile" }, - "metrics": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" + { + "$ref": "#/components/schemas/DashboardSqlChartTile" }, - "dimensions": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" + { + "$ref": "#/components/schemas/DashboardSemanticViewerChartTile" + } + ] + }, + "DashboardFieldTarget": { + "properties": { + "tableName": { + "type": "string" }, - "exploreName": { + "fieldId": { "type": "string" } }, - "required": [ - "tableCalculations", - "limit", - "sorts", - "filters", - "metrics", - "dimensions", - "exploreName" - ], + "required": ["tableName", "fieldId"], "type": "object" }, - "ChartType.BIG_NUMBER": { - "enum": ["big_number"], - "type": "string" - }, - "ComparisonFormatTypes": { - "enum": ["raw", "percentage"], - "type": "string" - }, - "BigNumber": { + "FilterRule_ConditionalOperator.T.V.any_": { "properties": { - "comparisonLabel": { - "type": "string" + "values": { + "items": {}, + "type": "array" }, - "flipColors": { - "type": "boolean" + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" }, - "comparisonFormat": { - "$ref": "#/components/schemas/ComparisonFormatTypes" + "id": { + "type": "string" }, - "showComparison": { - "type": "boolean" + "target": { + "$ref": "#/components/schemas/DashboardFieldTarget" }, - "showBigNumberLabel": { + "settings": {}, + "disabled": { "type": "boolean" }, - "selectedField": { - "type": "string" - }, - "style": { - "$ref": "#/components/schemas/CompactOrAlias" - }, - "label": { - "type": "string" + "required": { + "type": "boolean" } }, - "type": "object" + "required": ["operator", "id", "target"], + "type": "object", + "additionalProperties": true }, - "BigNumberConfig": { - "properties": { - "config": { - "$ref": "#/components/schemas/BigNumber" + "Record_string.DashboardTileTarget_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "DashboardFilterRule": { + "allOf": [ + { + "$ref": "#/components/schemas/FilterRule_ConditionalOperator.T.V.any_" }, - "type": { - "$ref": "#/components/schemas/ChartType.BIG_NUMBER" + { + "properties": { + "label": { + "type": "string" + }, + "tileTargets": { + "$ref": "#/components/schemas/Record_string.DashboardTileTarget_" + } + }, + "type": "object" } - }, - "required": ["type"], - "type": "object" - }, - "ChartType.CARTESIAN": { - "enum": ["cartesian"], - "type": "string" + ] }, - "Partial_CompleteCartesianChartLayout_": { + "DashboardFilters": { "properties": { - "xField": { - "type": "string" - }, - "yField": { + "tableCalculations": { "items": { - "type": "string" + "$ref": "#/components/schemas/DashboardFilterRule" }, "type": "array" }, - "flipAxes": { - "type": "boolean" - }, - "showGridX": { - "type": "boolean" + "metrics": { + "items": { + "$ref": "#/components/schemas/DashboardFilterRule" + }, + "type": "array" }, - "showGridY": { - "type": "boolean" + "dimensions": { + "items": { + "$ref": "#/components/schemas/DashboardFilterRule" + }, + "type": "array" } }, - "type": "object", - "description": "Make all properties in T optional" - }, - "CartesianChartLayout": { - "$ref": "#/components/schemas/Partial_CompleteCartesianChartLayout_" + "required": ["tableCalculations", "metrics", "dimensions"], + "type": "object" }, - "EchartsLegend": { + "UpdatedByUser": { "properties": { - "icon": { - "type": "string", - "enum": [ - "circle", - "rect", - "roundRect", - "triangle", - "diamond", - "pin", - "arrow", - "none" - ] - }, - "align": { - "type": "string", - "enum": ["auto", "left", "right"] - }, - "height": { - "type": "string" - }, - "width": { + "userUuid": { "type": "string" }, - "left": { + "firstName": { "type": "string" }, - "bottom": { + "lastName": { "type": "string" + } + }, + "required": ["userUuid", "firstName", "lastName"], + "type": "object", + "additionalProperties": true + }, + "DashboardTab": { + "properties": { + "order": { + "type": "number", + "format": "double" }, - "right": { + "name": { "type": "string" }, - "top": { + "uuid": { "type": "string" - }, - "orient": { - "type": "string", - "enum": ["horizontal", "vertical"] - }, - "type": { - "type": "string", - "enum": ["plain", "scroll"] - }, - "show": { - "type": "boolean" } }, + "required": ["order", "name", "uuid"], "type": "object" }, - "EchartsGrid": { + "Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__": { "properties": { - "height": { + "name": { "type": "string" }, - "width": { + "description": { "type": "string" }, - "left": { + "uuid": { "type": "string" }, - "bottom": { + "spaceName": { "type": "string" }, - "right": { + "spaceUuid": { "type": "string" }, - "top": { + "projectUuid": { "type": "string" }, - "containLabel": { - "type": "boolean" - } - }, - "type": "object" - }, - "PivotValue": { - "properties": { - "value": {}, - "field": { + "organizationUuid": { + "type": "string" + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "slug": { "type": "string" + }, + "dashboardVersionId": { + "type": "number", + "format": "double" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "tiles": { + "items": { + "$ref": "#/components/schemas/DashboardTile" + }, + "type": "array" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { + "type": "number", + "format": "double" + }, + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "tabs": { + "items": { + "$ref": "#/components/schemas/DashboardTab" + }, + "type": "array" } }, - "required": ["value", "field"], - "type": "object" + "required": [ + "name", + "uuid", + "spaceName", + "spaceUuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "slug", + "dashboardVersionId", + "updatedAt", + "tiles", + "filters", + "views", + "firstViewedAt", + "pinnedListOrder", + "tabs" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "PivotReference": { + "Omit_Dashboard.isPrivate-or-access_": { + "$ref": "#/components/schemas/Pick_Dashboard.Exclude_keyofDashboard.isPrivate-or-access__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "DashboardDAO": { + "$ref": "#/components/schemas/Omit_Dashboard.isPrivate-or-access_" + }, + "ApiPromoteDashboardResponse": { "properties": { - "pivotValues": { - "items": { - "$ref": "#/components/schemas/PivotValue" - }, - "type": "array" + "results": { + "$ref": "#/components/schemas/DashboardDAO" }, - "field": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["field"], + "required": ["results", "status"], "type": "object" }, - "CartesianSeriesType": { - "enum": ["line", "bar", "scatter", "area"], + "PromotionAction": { + "enum": ["no changes", "create", "update", "delete"], "type": "string" }, - "MarkLineData": { + "Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__": { "properties": { - "dynamicValue": { - "type": "string", - "enum": ["average"], - "nullable": false - }, - "label": { - "properties": { - "position": { - "type": "string", - "enum": ["start", "middle", "end"] - }, - "formatter": { - "type": "string" - } - }, - "type": "object" - }, - "lineStyle": { - "properties": { - "color": { - "type": "string" - } - }, - "required": ["color"], - "type": "object" + "name": { + "type": "string" }, "uuid": { "type": "string" }, - "type": { + "projectUuid": { "type": "string" }, - "value": { + "organizationUuid": { "type": "string" }, - "name": { - "type": "string" + "pinnedListUuid": { + "type": "string", + "nullable": true }, - "xAxis": { + "slug": { "type": "string" }, - "yAxis": { - "type": "string" + "isPrivate": { + "type": "boolean" + }, + "access": { + "items": { + "type": "string" + }, + "type": "array" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "chartCount": { + "type": "number", + "format": "double" + }, + "dashboardCount": { + "type": "number", + "format": "double" } }, - "required": ["uuid"], - "type": "object" + "required": [ + "name", + "uuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "slug", + "isPrivate", + "access", + "pinnedListOrder", + "chartCount", + "dashboardCount" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "MarkLine": { - "properties": { - "label": { - "properties": { - "formatter": { - "type": "string" - } - }, - "type": "object" + "Omit_SpaceSummary.userAccess_": { + "$ref": "#/components/schemas/Pick_SpaceSummary.Exclude_keyofSpaceSummary.userAccess__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "PromotedSpace": { + "$ref": "#/components/schemas/Omit_SpaceSummary.userAccess_" + }, + "PromotedDashboard": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardDAO" }, - "lineStyle": { + { "properties": { - "type": { - "type": "string" - }, - "width": { - "type": "number", - "format": "double" - }, - "color": { + "spaceSlug": { "type": "string" } }, - "required": ["type", "width", "color"], + "required": ["spaceSlug"], "type": "object" + } + ] + }, + "FieldId": { + "type": "string" + }, + "FilterGroup": { + "anyOf": [ + { + "$ref": "#/components/schemas/OrFilterGroup" }, - "symbol": { + { + "$ref": "#/components/schemas/AndFilterGroup" + } + ] + }, + "FieldTarget": { + "properties": { + "fieldId": { "type": "string" - }, - "data": { - "items": { - "$ref": "#/components/schemas/MarkLineData" - }, - "type": "array" } }, - "required": ["data"], + "required": ["fieldId"], "type": "object" }, - "Series": { + "FilterRule": { "properties": { - "markLine": { - "$ref": "#/components/schemas/MarkLine" - }, - "smooth": { - "type": "boolean" + "values": { + "items": {}, + "type": "array" }, - "showSymbol": { - "type": "boolean" + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" }, - "areaStyle": { - "properties": {}, - "type": "object" + "id": { + "type": "string" }, - "hidden": { - "type": "boolean" + "target": { + "$ref": "#/components/schemas/FieldTarget" }, - "label": { - "properties": { - "position": { - "type": "string", - "enum": [ - "left", - "top", - "right", - "bottom", - "inside" - ] - }, - "show": { - "type": "boolean" - } - }, - "type": "object" + "settings": {}, + "disabled": { + "type": "boolean" }, - "yAxisIndex": { - "type": "number", - "format": "double" + "required": { + "type": "boolean" + } + }, + "required": ["operator", "id", "target"], + "type": "object", + "additionalProperties": true + }, + "FilterGroupItem": { + "anyOf": [ + { + "$ref": "#/components/schemas/FilterGroup" }, - "color": { - "type": "string" + { + "$ref": "#/components/schemas/FilterRule" + } + ] + }, + "OrFilterGroup": { + "properties": { + "or": { + "items": { + "$ref": "#/components/schemas/FilterGroupItem" + }, + "type": "array" }, - "name": { + "id": { "type": "string" - }, - "stackLabel": { - "properties": { - "show": { - "type": "boolean" - } + } + }, + "required": ["or", "id"], + "type": "object" + }, + "AndFilterGroup": { + "properties": { + "and": { + "items": { + "$ref": "#/components/schemas/FilterGroupItem" }, - "type": "object" + "type": "array" }, - "stack": { + "id": { "type": "string" + } + }, + "required": ["and", "id"], + "type": "object" + }, + "Filters": { + "properties": { + "tableCalculations": { + "$ref": "#/components/schemas/FilterGroup" }, - "type": { - "$ref": "#/components/schemas/CartesianSeriesType" + "metrics": { + "$ref": "#/components/schemas/FilterGroup" }, - "encode": { - "properties": { - "y": { - "type": "string" - }, - "x": { - "type": "string" - }, - "yRef": { - "$ref": "#/components/schemas/PivotReference" - }, - "xRef": { - "$ref": "#/components/schemas/PivotReference" - } - }, - "required": ["yRef", "xRef"], - "type": "object" + "dimensions": { + "$ref": "#/components/schemas/FilterGroup" } }, - "required": ["type", "encode"], "type": "object" }, - "Axis": { + "SortField": { "properties": { - "rotate": { - "type": "number", - "format": "double" - }, - "inverse": { + "descending": { "type": "boolean" }, - "maxOffset": { + "fieldId": { "type": "string" + } + }, + "required": ["descending", "fieldId"], + "type": "object" + }, + "TableCalculationType": { + "enum": ["number", "string", "date", "timestamp", "boolean"], + "type": "string" + }, + "TableCalculation": { + "properties": { + "type": { + "$ref": "#/components/schemas/TableCalculationType" }, - "minOffset": { - "type": "string" + "format": { + "$ref": "#/components/schemas/CustomFormat" }, - "max": { + "sql": { "type": "string" }, - "min": { + "displayName": { "type": "string" }, "name": { "type": "string" + }, + "index": { + "type": "number", + "format": "double" } }, + "required": ["sql", "displayName", "name"], "type": "object" }, - "Partial_CompleteEChartsConfig_": { + "AdditionalMetric": { "properties": { - "legend": { - "$ref": "#/components/schemas/EchartsLegend" + "label": { + "type": "string" }, - "grid": { - "$ref": "#/components/schemas/EchartsGrid" + "type": { + "$ref": "#/components/schemas/MetricType" }, - "series": { - "items": { - "$ref": "#/components/schemas/Series" - }, - "type": "array" + "description": { + "type": "string" }, - "xAxis": { - "items": { - "$ref": "#/components/schemas/Axis" - }, - "type": "array" + "sql": { + "type": "string" }, - "yAxis": { + "hidden": { + "type": "boolean" + }, + "round": { + "type": "number", + "format": "double" + }, + "compact": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "format": { + "$ref": "#/components/schemas/Format" + }, + "table": { + "type": "string" + }, + "name": { + "type": "string" + }, + "index": { + "type": "number", + "format": "double" + }, + "filters": { "items": { - "$ref": "#/components/schemas/Axis" + "$ref": "#/components/schemas/MetricFilterRule" }, "type": "array" + }, + "baseDimensionName": { + "type": "string" + }, + "uuid": { + "type": "string", + "nullable": true + }, + "percentile": { + "type": "number", + "format": "double" + }, + "formatOptions": { + "$ref": "#/components/schemas/CustomFormat" } }, + "required": ["type", "sql", "table", "name"], "type": "object", - "description": "Make all properties in T optional" + "additionalProperties": true }, - "EChartsConfig": { - "$ref": "#/components/schemas/Partial_CompleteEChartsConfig_" + "CustomDimensionType.BIN": { + "enum": ["bin"], + "type": "string" }, - "Record_string.SeriesMetadata_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "BinType": { + "enum": ["fixed_number", "fixed_width", "custom_range"], + "type": "string" }, - "CartesianChart": { + "BinRange": { "properties": { - "metadata": { - "$ref": "#/components/schemas/Record_string.SeriesMetadata_" - }, - "eChartsConfig": { - "$ref": "#/components/schemas/EChartsConfig" + "to": { + "type": "number", + "format": "double" }, - "layout": { - "$ref": "#/components/schemas/CartesianChartLayout" + "from": { + "type": "number", + "format": "double" } }, - "required": ["eChartsConfig", "layout"], "type": "object" }, - "CartesianChartConfig": { - "properties": { - "config": { - "$ref": "#/components/schemas/CartesianChart" + "CustomDimensionType": { + "enum": ["bin", "sql"], + "type": "string" + }, + "CustomBinDimension": { + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "table": { + "type": "string" }, "type": { - "$ref": "#/components/schemas/ChartType.CARTESIAN" + "$ref": "#/components/schemas/CustomDimensionType.BIN" + }, + "dimensionId": { + "$ref": "#/components/schemas/FieldId" + }, + "binType": { + "$ref": "#/components/schemas/BinType" + }, + "binNumber": { + "type": "number", + "format": "double" + }, + "binWidth": { + "type": "number", + "format": "double" + }, + "customRange": { + "items": { + "$ref": "#/components/schemas/BinRange" + }, + "type": "array" } }, - "required": ["type"], - "type": "object" + "required": [ + "id", + "name", + "table", + "type", + "dimensionId", + "binType" + ], + "type": "object", + "additionalProperties": true }, - "ChartType.CUSTOM": { - "enum": ["custom"], + "CustomDimensionType.SQL": { + "enum": ["sql"], "type": "string" }, - "CustomVis": { + "CustomSqlDimension": { "properties": { - "spec": { - "additionalProperties": true, - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "table": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/CustomDimensionType.SQL" + }, + "sql": { + "type": "string" + }, + "dimensionType": { + "$ref": "#/components/schemas/DimensionType" } }, - "type": "object" + "required": [ + "id", + "name", + "table", + "type", + "sql", + "dimensionType" + ], + "type": "object", + "additionalProperties": true }, - "CustomVisConfig": { + "CustomDimension": { + "anyOf": [ + { + "$ref": "#/components/schemas/CustomBinDimension" + }, + { + "$ref": "#/components/schemas/CustomSqlDimension" + } + ] + }, + "Pick_CompiledDimension.label-or-name_": { "properties": { - "config": { - "$ref": "#/components/schemas/CustomVis" + "name": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChartType.CUSTOM" + "label": { + "type": "string" } }, - "required": ["type"], - "type": "object" - }, - "ChartType.PIE": { - "enum": ["pie"], - "type": "string" - }, - "PieChartValueLabel": { - "type": "string", - "enum": ["hidden", "inside", "outside"], - "nullable": false - }, - "Record_string.string_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "Record_string.Partial_PieChartValueOptions__": { - "properties": {}, + "required": ["name", "label"], "type": "object", - "description": "Construct a type with a set of properties K of type T" - }, - "PieChartLegendPosition": { - "type": "string", - "enum": ["horizontal", "vertical"], - "nullable": false + "description": "From T, pick a set of properties whose keys are in the union K" }, - "PieChart": { + "MetricQuery": { "properties": { "metadata": { - "$ref": "#/components/schemas/Record_string.SeriesMetadata_" + "properties": { + "hasADateDimension": { + "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" + } + }, + "required": ["hasADateDimension"], + "type": "object" }, - "legendPosition": { - "$ref": "#/components/schemas/PieChartLegendPosition" + "timezone": { + "type": "string" }, - "showLegend": { - "type": "boolean" + "customDimensions": { + "items": { + "$ref": "#/components/schemas/CustomDimension" + }, + "type": "array" }, - "groupSortOverrides": { + "additionalMetrics": { "items": { - "type": "string" + "$ref": "#/components/schemas/AdditionalMetric" }, "type": "array" }, - "groupValueOptionOverrides": { - "$ref": "#/components/schemas/Record_string.Partial_PieChartValueOptions__" + "tableCalculations": { + "items": { + "$ref": "#/components/schemas/TableCalculation" + }, + "type": "array" }, - "groupColorOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "limit": { + "type": "number", + "format": "double" }, - "groupLabelOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "sorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" }, - "showPercentage": { - "type": "boolean" + "filters": { + "$ref": "#/components/schemas/Filters" }, - "showValue": { + "metrics": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "dimensions": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "exploreName": { + "type": "string" + } + }, + "required": [ + "tableCalculations", + "limit", + "sorts", + "filters", + "metrics", + "dimensions", + "exploreName" + ], + "type": "object" + }, + "ChartType.BIG_NUMBER": { + "enum": ["big_number"], + "type": "string" + }, + "ComparisonFormatTypes": { + "enum": ["raw", "percentage"], + "type": "string" + }, + "BigNumber": { + "properties": { + "comparisonLabel": { + "type": "string" + }, + "flipColors": { "type": "boolean" }, - "valueLabel": { - "$ref": "#/components/schemas/PieChartValueLabel" + "comparisonFormat": { + "$ref": "#/components/schemas/ComparisonFormatTypes" }, - "isDonut": { + "showComparison": { "type": "boolean" }, - "metricId": { + "showBigNumberLabel": { + "type": "boolean" + }, + "selectedField": { "type": "string" }, - "groupFieldIds": { - "items": { - "type": "string" - }, - "type": "array" + "style": { + "$ref": "#/components/schemas/CompactOrAlias" + }, + "label": { + "type": "string" } }, "type": "object" }, - "PieChartConfig": { + "BigNumberConfig": { "properties": { "config": { - "$ref": "#/components/schemas/PieChart" + "$ref": "#/components/schemas/BigNumber" }, "type": { - "$ref": "#/components/schemas/ChartType.PIE" + "$ref": "#/components/schemas/ChartType.BIG_NUMBER" } }, "required": ["type"], "type": "object" }, - "ChartType.FUNNEL": { - "enum": ["funnel"], + "ChartType.CARTESIAN": { + "enum": ["cartesian"], "type": "string" }, - "FunnelChartDataInput": { - "enum": ["row", "column"], - "type": "string" - }, - "FunnelChartLabelPosition": { - "enum": ["inside", "left", "right", "hidden"], - "type": "string" + "Partial_CompleteCartesianChartLayout_": { + "properties": { + "xField": { + "type": "string" + }, + "yField": { + "items": { + "type": "string" + }, + "type": "array" + }, + "flipAxes": { + "type": "boolean" + }, + "showGridX": { + "type": "boolean" + }, + "showGridY": { + "type": "boolean" + } + }, + "type": "object", + "description": "Make all properties in T optional" }, - "FunnelChartLegendPosition": { - "enum": ["horizontal", "vertical"], - "type": "string" + "CartesianChartLayout": { + "$ref": "#/components/schemas/Partial_CompleteCartesianChartLayout_" }, - "FunnelChart": { + "EchartsLegend": { "properties": { - "legendPosition": { - "$ref": "#/components/schemas/FunnelChartLegendPosition" + "icon": { + "type": "string", + "enum": [ + "circle", + "rect", + "roundRect", + "triangle", + "diamond", + "pin", + "arrow", + "none" + ] }, - "showLegend": { - "type": "boolean" + "align": { + "type": "string", + "enum": ["auto", "left", "right"] }, - "labels": { - "properties": { - "showPercentage": { - "type": "boolean" - }, - "showValue": { - "type": "boolean" - }, - "position": { - "$ref": "#/components/schemas/FunnelChartLabelPosition" - } - }, - "type": "object" + "height": { + "type": "string" }, - "colorOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "width": { + "type": "string" }, - "labelOverrides": { - "$ref": "#/components/schemas/Record_string.string_" + "left": { + "type": "string" }, - "metadata": { - "$ref": "#/components/schemas/Record_string.SeriesMetadata_" + "bottom": { + "type": "string" }, - "fieldId": { + "right": { "type": "string" }, - "dataInput": { - "$ref": "#/components/schemas/FunnelChartDataInput" + "top": { + "type": "string" + }, + "orient": { + "type": "string", + "enum": ["horizontal", "vertical"] + }, + "type": { + "type": "string", + "enum": ["plain", "scroll"] + }, + "show": { + "type": "boolean" } }, "type": "object" }, - "FunnelChartConfig": { + "EchartsGrid": { "properties": { - "config": { - "$ref": "#/components/schemas/FunnelChart" + "height": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChartType.FUNNEL" + "width": { + "type": "string" + }, + "left": { + "type": "string" + }, + "bottom": { + "type": "string" + }, + "right": { + "type": "string" + }, + "top": { + "type": "string" + }, + "containLabel": { + "type": "boolean" } }, - "required": ["type"], "type": "object" }, - "ChartType.TABLE": { - "enum": ["table"], - "type": "string" - }, - "Record_string.ColumnProperties_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "PivotValue": { + "properties": { + "value": {}, + "field": { + "type": "string" + } + }, + "required": ["value", "field"], + "type": "object" }, - "ConditionalRule_ConditionalOperator.number_": { + "PivotReference": { "properties": { - "values": { + "pivotValues": { "items": { - "type": "number", - "format": "double" + "$ref": "#/components/schemas/PivotValue" }, "type": "array" }, - "operator": { - "$ref": "#/components/schemas/ConditionalOperator" - }, - "id": { + "field": { "type": "string" } }, - "required": ["operator", "id"], + "required": ["field"], "type": "object" }, - "ConditionalFormattingWithConditionalOperator": { - "allOf": [ - { - "$ref": "#/components/schemas/ConditionalRule_ConditionalOperator.number_" + "CartesianSeriesType": { + "enum": ["line", "bar", "scatter", "area"], + "type": "string" + }, + "MarkLineData": { + "properties": { + "dynamicValue": { + "type": "string", + "enum": ["average"], + "nullable": false }, - { + "label": { "properties": { - "values": { - "items": { - "type": "number", - "format": "double" - }, - "type": "array" + "position": { + "type": "string", + "enum": ["start", "middle", "end"] + }, + "formatter": { + "type": "string" } }, - "required": ["values"], "type": "object" - } - ] - }, - "ConditionalFormattingConfigWithSingleColor": { - "properties": { - "rules": { - "items": { - "$ref": "#/components/schemas/ConditionalFormattingWithConditionalOperator" + }, + "lineStyle": { + "properties": { + "color": { + "type": "string" + } }, - "type": "array" + "required": ["color"], + "type": "object" }, - "color": { + "uuid": { "type": "string" }, - "target": { - "allOf": [ - { - "$ref": "#/components/schemas/FieldTarget" - } - ], - "nullable": true - } - }, - "required": ["rules", "color", "target"], - "type": "object" - }, - "ConditionalFormattingWithRange": { - "properties": { - "max": { - "type": "number", - "format": "double" + "type": { + "type": "string" }, - "min": { - "type": "number", - "format": "double" + "value": { + "type": "string" + }, + "name": { + "type": "string" + }, + "xAxis": { + "type": "string" + }, + "yAxis": { + "type": "string" } }, - "required": ["max", "min"], + "required": ["uuid"], "type": "object" }, - "ConditionalFormattingConfigWithColorRange": { + "MarkLine": { "properties": { - "rule": { - "$ref": "#/components/schemas/ConditionalFormattingWithRange" - }, - "color": { + "label": { "properties": { - "steps": { - "type": "number", - "enum": [5], - "nullable": false - }, - "end": { - "type": "string" - }, - "start": { + "formatter": { "type": "string" } }, - "required": ["steps", "end", "start"], "type": "object" }, - "target": { - "allOf": [ - { - "$ref": "#/components/schemas/FieldTarget" + "lineStyle": { + "properties": { + "type": { + "type": "string" + }, + "width": { + "type": "number", + "format": "double" + }, + "color": { + "type": "string" } - ], - "nullable": true - } - }, - "required": ["rule", "color", "target"], - "type": "object" - }, - "ConditionalFormattingConfig": { - "anyOf": [ - { - "$ref": "#/components/schemas/ConditionalFormattingConfigWithSingleColor" + }, + "required": ["type", "width", "color"], + "type": "object" }, - { - "$ref": "#/components/schemas/ConditionalFormattingConfigWithColorRange" - } - ] - }, - "TableChart": { - "properties": { - "metricsAsRows": { - "type": "boolean" + "symbol": { + "type": "string" }, - "conditionalFormattings": { + "data": { "items": { - "$ref": "#/components/schemas/ConditionalFormattingConfig" + "$ref": "#/components/schemas/MarkLineData" }, "type": "array" + } + }, + "required": ["data"], + "type": "object" + }, + "Series": { + "properties": { + "markLine": { + "$ref": "#/components/schemas/MarkLine" }, - "columns": { - "$ref": "#/components/schemas/Record_string.ColumnProperties_" - }, - "showSubtotals": { + "smooth": { "type": "boolean" }, - "showResultsTotal": { + "showSymbol": { "type": "boolean" }, - "hideRowNumbers": { - "type": "boolean" + "areaStyle": { + "properties": {}, + "type": "object" }, - "showTableNames": { + "hidden": { "type": "boolean" }, - "showRowCalculation": { - "type": "boolean" + "label": { + "properties": { + "position": { + "type": "string", + "enum": [ + "left", + "top", + "right", + "bottom", + "inside" + ] + }, + "show": { + "type": "boolean" + } + }, + "type": "object" }, - "showColumnCalculation": { - "type": "boolean" - } - }, - "type": "object" - }, - "TableChartConfig": { - "properties": { - "config": { - "$ref": "#/components/schemas/TableChart" + "yAxisIndex": { + "type": "number", + "format": "double" }, - "type": { - "$ref": "#/components/schemas/ChartType.TABLE" - } - }, - "required": ["type"], - "type": "object" - }, - "ChartConfig": { - "anyOf": [ - { - "$ref": "#/components/schemas/BigNumberConfig" + "color": { + "type": "string" }, - { - "$ref": "#/components/schemas/CartesianChartConfig" + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/CustomVisConfig" + "stackLabel": { + "properties": { + "show": { + "type": "boolean" + } + }, + "type": "object" }, - { - "$ref": "#/components/schemas/PieChartConfig" + "stack": { + "type": "string" }, - { - "$ref": "#/components/schemas/FunnelChartConfig" + "type": { + "$ref": "#/components/schemas/CartesianSeriesType" }, - { - "$ref": "#/components/schemas/TableChartConfig" + "encode": { + "properties": { + "y": { + "type": "string" + }, + "x": { + "type": "string" + }, + "yRef": { + "$ref": "#/components/schemas/PivotReference" + }, + "xRef": { + "$ref": "#/components/schemas/PivotReference" + } + }, + "required": ["yRef", "xRef"], + "type": "object" } - ] + }, + "required": ["type", "encode"], + "type": "object" }, - "Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__": { + "Axis": { "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "uuid": { - "type": "string" + "rotate": { + "type": "number", + "format": "double" }, - "spaceName": { - "type": "string" + "inverse": { + "type": "boolean" }, - "spaceUuid": { + "maxOffset": { "type": "string" }, - "projectUuid": { + "minOffset": { "type": "string" }, - "organizationUuid": { + "max": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "dashboardUuid": { - "type": "string", - "nullable": true - }, - "dashboardName": { - "type": "string", - "nullable": true - }, - "slug": { + "min": { "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true - }, - "tableName": { + "name": { "type": "string" + } + }, + "type": "object" + }, + "Partial_CompleteEChartsConfig_": { + "properties": { + "legend": { + "$ref": "#/components/schemas/EchartsLegend" }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQuery" + "grid": { + "$ref": "#/components/schemas/EchartsGrid" }, - "pivotConfig": { - "properties": { - "columns": { - "items": { - "type": "string" - }, - "type": "array" - } + "series": { + "items": { + "$ref": "#/components/schemas/Series" }, - "required": ["columns"], - "type": "object" - }, - "chartConfig": { - "$ref": "#/components/schemas/ChartConfig" + "type": "array" }, - "tableConfig": { - "properties": { - "columnOrder": { - "items": { - "type": "string" - }, - "type": "array" - } + "xAxis": { + "items": { + "$ref": "#/components/schemas/Axis" }, - "required": ["columnOrder"], - "type": "object" + "type": "array" }, - "colorPalette": { + "yAxis": { "items": { - "type": "string" + "$ref": "#/components/schemas/Axis" }, "type": "array" } }, - "required": [ - "name", - "uuid", - "spaceName", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "dashboardUuid", - "dashboardName", - "slug", - "updatedAt", - "pinnedListOrder", - "tableName", - "metricQuery", - "chartConfig", - "tableConfig", - "colorPalette" - ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_SavedChart.isPrivate-or-access_": { - "$ref": "#/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__", - "description": "Construct a type with the properties of T except for those in type K." + "description": "Make all properties in T optional" }, - "SavedChartDAO": { - "$ref": "#/components/schemas/Omit_SavedChart.isPrivate-or-access_" + "EChartsConfig": { + "$ref": "#/components/schemas/Partial_CompleteEChartsConfig_" }, - "PromotedChart": { - "allOf": [ - { - "$ref": "#/components/schemas/SavedChartDAO" - }, - { - "properties": { - "oldUuid": { - "type": "string" - }, - "spaceSlug": { - "type": "string" - } - }, - "required": ["oldUuid", "spaceSlug"], - "type": "object" - } - ] + "Record_string.SeriesMetadata_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "PromotionChanges": { + "CartesianChart": { "properties": { - "charts": { - "items": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromotedChart" - }, - "action": { - "$ref": "#/components/schemas/PromotionAction" - } - }, - "required": ["data", "action"], - "type": "object" - }, - "type": "array" + "metadata": { + "$ref": "#/components/schemas/Record_string.SeriesMetadata_" }, - "dashboards": { - "items": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromotedDashboard" - }, - "action": { - "$ref": "#/components/schemas/PromotionAction" - } - }, - "required": ["data", "action"], - "type": "object" - }, - "type": "array" + "eChartsConfig": { + "$ref": "#/components/schemas/EChartsConfig" }, - "spaces": { - "items": { - "properties": { - "data": { - "$ref": "#/components/schemas/PromotedSpace" - }, - "action": { - "$ref": "#/components/schemas/PromotionAction" - } - }, - "required": ["data", "action"], - "type": "object" - }, - "type": "array" + "layout": { + "$ref": "#/components/schemas/CartesianChartLayout" } }, - "required": ["charts", "dashboards", "spaces"], + "required": ["eChartsConfig", "layout"], "type": "object" }, - "ApiPromotionChangesResponse": { + "CartesianChartConfig": { "properties": { - "results": { - "$ref": "#/components/schemas/PromotionChanges" + "config": { + "$ref": "#/components/schemas/CartesianChart" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "type": { + "$ref": "#/components/schemas/ChartType.CARTESIAN" } }, - "required": ["results", "status"], + "required": ["type"], "type": "object" }, - "ApiSuccessEmpty": { + "ChartType.CUSTOM": { + "enum": ["custom"], + "type": "string" + }, + "CustomVis": { "properties": { - "results": {}, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "spec": { + "additionalProperties": true, + "type": "object" } }, - "required": ["status"], "type": "object" }, - "Pick_Explore.SummaryExploreFields_": { + "CustomVisConfig": { "properties": { - "name": { - "type": "string" - }, - "label": { - "type": "string" - }, - "groupLabel": { - "type": "string" + "config": { + "$ref": "#/components/schemas/CustomVis" }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "type": { + "$ref": "#/components/schemas/ChartType.CUSTOM" } }, - "required": ["name", "label", "tags"], + "required": ["type"], + "type": "object" + }, + "ChartType.PIE": { + "enum": ["pie"], + "type": "string" + }, + "PieChartValueLabel": { + "type": "string", + "enum": ["hidden", "inside", "outside"], + "nullable": false + }, + "Record_string.Partial_PieChartValueOptions__": { + "properties": {}, "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "description": "Construct a type with a set of properties K of type T" }, - "SummaryExtraFields": { - "properties": { - "databaseName": { - "type": "string" - }, - "schemaName": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": ["databaseName", "schemaName"], - "type": "object" + "PieChartLegendPosition": { + "type": "string", + "enum": ["horizontal", "vertical"], + "nullable": false }, - "Pick_ExploreError.SummaryExploreErrorFields_": { + "PieChart": { "properties": { - "name": { - "type": "string" + "metadata": { + "$ref": "#/components/schemas/Record_string.SeriesMetadata_" }, - "label": { - "type": "string" + "legendPosition": { + "$ref": "#/components/schemas/PieChartLegendPosition" }, - "groupLabel": { - "type": "string" + "showLegend": { + "type": "boolean" }, - "tags": { + "groupSortOverrides": { "items": { "type": "string" }, "type": "array" }, - "errors": { + "groupValueOptionOverrides": { + "$ref": "#/components/schemas/Record_string.Partial_PieChartValueOptions__" + }, + "groupColorOverrides": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "groupLabelOverrides": { + "$ref": "#/components/schemas/Record_string.string_" + }, + "showPercentage": { + "type": "boolean" + }, + "showValue": { + "type": "boolean" + }, + "valueLabel": { + "$ref": "#/components/schemas/PieChartValueLabel" + }, + "isDonut": { + "type": "boolean" + }, + "metricId": { + "type": "string" + }, + "groupFieldIds": { "items": { - "$ref": "#/components/schemas/InlineError" + "type": "string" }, "type": "array" } }, - "required": ["name", "label", "tags", "errors"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "Partial_SummaryExtraFields_": { + "PieChartConfig": { "properties": { - "description": { - "type": "string" - }, - "schemaName": { - "type": "string" + "config": { + "$ref": "#/components/schemas/PieChart" }, - "databaseName": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ChartType.PIE" } }, - "type": "object", - "description": "Make all properties in T optional" + "required": ["type"], + "type": "object" }, - "SummaryExplore": { - "anyOf": [ - { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Explore.SummaryExploreFields_" - }, - { - "$ref": "#/components/schemas/SummaryExtraFields" - } - ] - }, - { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_" - }, - { - "$ref": "#/components/schemas/Partial_SummaryExtraFields_" - } - ] - } - ] + "ChartType.FUNNEL": { + "enum": ["funnel"], + "type": "string" }, - "ApiExploresResults": { - "items": { - "$ref": "#/components/schemas/SummaryExplore" - }, - "type": "array" + "FunnelChartDataInput": { + "enum": ["row", "column"], + "type": "string" }, - "OrderFieldsByStrategy": { - "enum": ["LABEL", "INDEX"], + "FunnelChartLabelPosition": { + "enum": ["inside", "left", "right", "hidden"], "type": "string" }, - "Record_string.GroupType_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "FunnelChartLegendPosition": { + "enum": ["horizontal", "vertical"], + "type": "string" }, - "TableBase": { + "FunnelChart": { "properties": { - "groupDetails": { - "$ref": "#/components/schemas/Record_string.GroupType_" - }, - "requiredAttributes": { - "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + "legendPosition": { + "$ref": "#/components/schemas/FunnelChartLegendPosition" }, - "hidden": { + "showLegend": { "type": "boolean" }, - "requiredFilters": { - "items": { - "$ref": "#/components/schemas/MetricFilterRule" + "labels": { + "properties": { + "showPercentage": { + "type": "boolean" + }, + "showValue": { + "type": "boolean" + }, + "position": { + "$ref": "#/components/schemas/FunnelChartLabelPosition" + } }, - "type": "array" - }, - "sqlWhere": { - "type": "string" - }, - "groupLabel": { - "type": "string" - }, - "orderFieldsBy": { - "$ref": "#/components/schemas/OrderFieldsByStrategy" - }, - "sqlTable": { - "type": "string" + "type": "object" }, - "schema": { - "type": "string" + "colorOverrides": { + "$ref": "#/components/schemas/Record_string.string_" }, - "database": { - "type": "string" + "labelOverrides": { + "$ref": "#/components/schemas/Record_string.string_" }, - "description": { - "type": "string" + "metadata": { + "$ref": "#/components/schemas/Record_string.SeriesMetadata_" }, - "originalName": { + "fieldId": { "type": "string" }, - "label": { - "type": "string" + "dataInput": { + "$ref": "#/components/schemas/FunnelChartDataInput" + } + }, + "type": "object" + }, + "FunnelChartConfig": { + "properties": { + "config": { + "$ref": "#/components/schemas/FunnelChart" }, - "name": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ChartType.FUNNEL" } }, - "required": ["sqlTable", "schema", "database", "label", "name"], + "required": ["type"], "type": "object" }, - "Record_string.CompiledDimension_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "ChartType.TABLE": { + "enum": ["table"], + "type": "string" }, - "Record_string.CompiledMetric_": { + "Record_string.ColumnProperties_": { "properties": {}, "type": "object", "description": "Construct a type with a set of properties K of type T" }, - "Record_string.LineageNodeDependency-Array_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "ConditionalRule_ConditionalOperator.number_": { + "properties": { + "values": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array" + }, + "operator": { + "$ref": "#/components/schemas/ConditionalOperator" + }, + "id": { + "type": "string" + } + }, + "required": ["operator", "id"], + "type": "object" }, - "LineageGraph": { - "$ref": "#/components/schemas/Record_string.LineageNodeDependency-Array_" + "ConditionalFormattingWithConditionalOperator": { + "allOf": [ + { + "$ref": "#/components/schemas/ConditionalRule_ConditionalOperator.number_" + }, + { + "properties": { + "values": { + "items": { + "type": "number", + "format": "double" + }, + "type": "array" + } + }, + "required": ["values"], + "type": "object" + } + ] }, - "SourcePosition": { + "ConditionalFormattingConfigWithSingleColor": { "properties": { - "character": { + "rules": { + "items": { + "$ref": "#/components/schemas/ConditionalFormattingWithConditionalOperator" + }, + "type": "array" + }, + "color": { + "type": "string" + }, + "target": { + "allOf": [ + { + "$ref": "#/components/schemas/FieldTarget" + } + ], + "nullable": true + } + }, + "required": ["rules", "color", "target"], + "type": "object" + }, + "ConditionalFormattingWithRange": { + "properties": { + "max": { "type": "number", "format": "double" }, - "line": { + "min": { "type": "number", "format": "double" } }, - "required": ["character", "line"], + "required": ["max", "min"], "type": "object" }, - "Source": { + "ConditionalFormattingConfigWithColorRange": { "properties": { - "content": { - "type": "string" + "rule": { + "$ref": "#/components/schemas/ConditionalFormattingWithRange" }, - "highlight": { + "color": { "properties": { - "end": { - "$ref": "#/components/schemas/SourcePosition" + "steps": { + "type": "number", + "enum": [5], + "nullable": false }, - "start": { - "$ref": "#/components/schemas/SourcePosition" - } - }, - "required": ["end", "start"], - "type": "object" - }, - "range": { - "properties": { "end": { - "$ref": "#/components/schemas/SourcePosition" + "type": "string" }, "start": { - "$ref": "#/components/schemas/SourcePosition" + "type": "string" } }, - "required": ["end", "start"], + "required": ["steps", "end", "start"], "type": "object" }, - "path": { - "type": "string" + "target": { + "allOf": [ + { + "$ref": "#/components/schemas/FieldTarget" + } + ], + "nullable": true } }, - "required": ["content", "range", "path"], + "required": ["rule", "color", "target"], "type": "object" }, - "CompiledTable": { - "allOf": [ + "ConditionalFormattingConfig": { + "anyOf": [ { - "$ref": "#/components/schemas/TableBase" + "$ref": "#/components/schemas/ConditionalFormattingConfigWithSingleColor" }, { - "properties": { - "uncompiledSqlWhere": { - "type": "string" - }, - "source": { - "$ref": "#/components/schemas/Source" - }, - "lineageGraph": { - "$ref": "#/components/schemas/LineageGraph" - }, - "metrics": { - "$ref": "#/components/schemas/Record_string.CompiledMetric_" - }, - "dimensions": { - "$ref": "#/components/schemas/Record_string.CompiledDimension_" - } - }, - "required": ["lineageGraph", "metrics", "dimensions"], - "type": "object" + "$ref": "#/components/schemas/ConditionalFormattingConfigWithColorRange" } ] }, - "SupportedDbtAdapter": { - "enum": [ - "bigquery", - "databricks", - "snowflake", - "redshift", - "postgres", - "trino" - ], - "type": "string" - }, - "Explore": { + "TableChart": { "properties": { - "sqlPath": { - "type": "string" - }, - "ymlPath": { - "type": "string" - }, - "warehouse": { - "type": "string" - }, - "targetDatabase": { - "$ref": "#/components/schemas/SupportedDbtAdapter" - }, - "tables": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/CompiledTable" - }, - "type": "object" + "metricsAsRows": { + "type": "boolean" }, - "joinedTables": { + "conditionalFormattings": { "items": { - "$ref": "#/components/schemas/CompiledExploreJoin" + "$ref": "#/components/schemas/ConditionalFormattingConfig" }, "type": "array" }, - "baseTable": { - "type": "string" + "columns": { + "$ref": "#/components/schemas/Record_string.ColumnProperties_" }, - "groupLabel": { - "type": "string" + "showSubtotals": { + "type": "boolean" }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" + "showResultsTotal": { + "type": "boolean" }, - "label": { - "type": "string" + "hideRowNumbers": { + "type": "boolean" }, - "name": { - "type": "string" + "showTableNames": { + "type": "boolean" + }, + "showRowCalculation": { + "type": "boolean" + }, + "showColumnCalculation": { + "type": "boolean" } }, - "required": [ - "targetDatabase", - "tables", - "joinedTables", - "baseTable", - "tags", - "label", - "name" - ], "type": "object" }, - "ApiExploreResults": { - "$ref": "#/components/schemas/Explore" - }, - "ApiCompiledQueryResults": { - "type": "string" - }, - "GitRepo": { + "TableChartConfig": { "properties": { - "ownerLogin": { - "type": "string" - }, - "fullName": { - "type": "string" + "config": { + "$ref": "#/components/schemas/TableChart" }, - "name": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ChartType.TABLE" } }, - "required": ["ownerLogin", "fullName", "name"], + "required": ["type"], "type": "object" }, - "GitIntegrationConfiguration": { - "properties": { - "enabled": { - "type": "boolean" + "ChartConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/BigNumberConfig" + }, + { + "$ref": "#/components/schemas/CartesianChartConfig" + }, + { + "$ref": "#/components/schemas/CustomVisConfig" + }, + { + "$ref": "#/components/schemas/PieChartConfig" + }, + { + "$ref": "#/components/schemas/FunnelChartConfig" + }, + { + "$ref": "#/components/schemas/TableChartConfig" } - }, - "required": ["enabled"], - "type": "object" + ] }, - "PullRequestCreated": { + "Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__": { "properties": { - "prUrl": { + "name": { "type": "string" }, - "prTitle": { + "description": { "type": "string" - } - }, - "required": ["prUrl", "prTitle"], - "type": "object" - }, - "ApiGdriveAccessTokenResponse": { - "properties": { - "results": { + }, + "uuid": { "type": "string" }, - "status": { + "spaceName": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "pinnedListUuid": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "ApiJobScheduledResponse": { - "properties": { - "results": { - "properties": { - "jobId": { - "type": "string" - } - }, - "required": ["jobId"], - "type": "object" + "nullable": true }, - "status": { + "dashboardUuid": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "FilterGroupResponse": { - "anyOf": [ - { + "nullable": true + }, + "dashboardName": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "metricQuery": { + "$ref": "#/components/schemas/MetricQuery" + }, + "pivotConfig": { "properties": { - "or": { - "items": {}, + "columns": { + "items": { + "type": "string" + }, "type": "array" - }, - "id": { - "type": "string" } }, - "required": ["or", "id"], + "required": ["columns"], "type": "object" }, - { + "chartConfig": { + "$ref": "#/components/schemas/ChartConfig" + }, + "tableConfig": { "properties": { - "and": { - "items": {}, + "columnOrder": { + "items": { + "type": "string" + }, "type": "array" - }, - "id": { - "type": "string" } }, - "required": ["and", "id"], + "required": ["columnOrder"], "type": "object" - } - ] - }, - "FiltersResponse": { - "properties": { - "tableCalculations": { - "$ref": "#/components/schemas/FilterGroupResponse" }, - "metrics": { - "$ref": "#/components/schemas/FilterGroupResponse" - }, - "dimensions": { - "$ref": "#/components/schemas/FilterGroupResponse" - } - }, - "type": "object" - }, - "MetricQueryResponse": { - "properties": { - "metadata": { - "properties": { - "hasADateDimension": { - "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" - } - }, - "required": ["hasADateDimension"], - "type": "object" - }, - "customDimensions": { - "items": { - "$ref": "#/components/schemas/CustomDimension" - }, - "type": "array" - }, - "additionalMetrics": { + "colorPalette": { "items": { - "$ref": "#/components/schemas/AdditionalMetric" + "type": "string" }, "type": "array" + } + }, + "required": [ + "name", + "uuid", + "spaceName", + "spaceUuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "dashboardUuid", + "dashboardName", + "slug", + "tableName", + "updatedAt", + "pinnedListOrder", + "metricQuery", + "chartConfig", + "tableConfig", + "colorPalette" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_SavedChart.isPrivate-or-access_": { + "$ref": "#/components/schemas/Pick_SavedChart.Exclude_keyofSavedChart.isPrivate-or-access__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "SavedChartDAO": { + "$ref": "#/components/schemas/Omit_SavedChart.isPrivate-or-access_" + }, + "PromotedChart": { + "allOf": [ + { + "$ref": "#/components/schemas/SavedChartDAO" }, - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/TableCalculation" + { + "properties": { + "oldUuid": { + "type": "string" + }, + "spaceSlug": { + "type": "string" + } }, - "type": "array" - }, - "limit": { - "type": "number", - "format": "double" - }, - "sorts": { + "required": ["oldUuid", "spaceSlug"], + "type": "object" + } + ] + }, + "PromotionChanges": { + "properties": { + "charts": { "items": { - "$ref": "#/components/schemas/SortField" + "properties": { + "data": { + "$ref": "#/components/schemas/PromotedChart" + }, + "action": { + "$ref": "#/components/schemas/PromotionAction" + } + }, + "required": ["data", "action"], + "type": "object" }, "type": "array" }, - "filters": { - "$ref": "#/components/schemas/FiltersResponse" - }, - "metrics": { + "dashboards": { "items": { - "$ref": "#/components/schemas/FieldId" + "properties": { + "data": { + "$ref": "#/components/schemas/PromotedDashboard" + }, + "action": { + "$ref": "#/components/schemas/PromotionAction" + } + }, + "required": ["data", "action"], + "type": "object" }, "type": "array" }, - "dimensions": { + "spaces": { "items": { - "$ref": "#/components/schemas/FieldId" + "properties": { + "data": { + "$ref": "#/components/schemas/PromotedSpace" + }, + "action": { + "$ref": "#/components/schemas/PromotionAction" + } + }, + "required": ["data", "action"], + "type": "object" }, "type": "array" - }, - "exploreName": { - "type": "string" } }, - "required": [ - "tableCalculations", - "limit", - "sorts", - "filters", - "metrics", - "dimensions", - "exploreName" - ], + "required": ["charts", "dashboards", "spaces"], "type": "object" }, - "CustomLabel": { - "properties": {}, - "additionalProperties": { - "type": "string" + "ApiPromotionChangesResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/PromotionChanges" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } }, + "required": ["results", "status"], "type": "object" }, - "UploadMetricGsheet": { + "ExploreType": { + "enum": ["virtual", "default"], + "type": "string" + }, + "Pick_Explore.SummaryExploreFields_": { "properties": { - "hiddenFields": { - "items": { - "type": "string" - }, - "type": "array" + "name": { + "type": "string" }, - "customLabels": { - "$ref": "#/components/schemas/CustomLabel" + "label": { + "type": "string" }, - "columnOrder": { + "groupLabel": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/ExploreType" + }, + "tags": { "items": { "type": "string" }, "type": "array" + } + }, + "required": ["name", "label", "tags"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "SummaryExtraFields": { + "properties": { + "databaseName": { + "type": "string" }, - "showTableNames": { - "type": "boolean" - }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQueryResponse" - }, - "exploreId": { + "schemaName": { "type": "string" }, - "projectUuid": { + "description": { "type": "string" } }, - "required": [ - "columnOrder", - "showTableNames", - "metricQuery", - "exploreId", - "projectUuid" - ], + "required": ["databaseName", "schemaName"], "type": "object" }, - "Group": { + "Pick_ExploreError.SummaryExploreErrorFields_": { "properties": { - "organizationUuid": { - "type": "string", - "description": "The UUID of the organization that the group belongs to" + "name": { + "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "The time that the group was created" + "label": { + "type": "string" }, - "name": { - "type": "string", - "description": "A friendly name for the group" + "groupLabel": { + "type": "string" }, - "uuid": { - "type": "string", - "description": "The group's UUID" + "type": { + "$ref": "#/components/schemas/ExploreType" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "errors": { + "items": { + "$ref": "#/components/schemas/InlineError" + }, + "type": "array" } }, - "required": ["organizationUuid", "createdAt", "name", "uuid"], - "type": "object" + "required": ["name", "label", "tags", "errors"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "GroupMember": { + "Partial_SummaryExtraFields_": { "properties": { - "lastName": { - "type": "string", - "description": "The user's last name" - }, - "firstName": { - "type": "string", - "description": "The user's first name" + "description": { + "type": "string" }, - "email": { - "type": "string", - "description": "Primary email address for the user" + "schemaName": { + "type": "string" }, - "userUuid": { - "type": "string", - "description": "Unique id for the user", - "format": "uuid" + "databaseName": { + "type": "string" } }, - "required": ["lastName", "firstName", "email", "userUuid"], "type": "object", - "description": "A summary for a Lightdash user within a group" + "description": "Make all properties in T optional" }, - "GroupWithMembers": { - "allOf": [ - { - "$ref": "#/components/schemas/Group" - }, + "SummaryExplore": { + "anyOf": [ { - "properties": { - "memberUuids": { - "items": { - "type": "string" - }, - "type": "array" + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Explore.SummaryExploreFields_" }, - "members": { - "items": { - "$ref": "#/components/schemas/GroupMember" - }, - "type": "array", - "description": "A list of the group's members." + { + "$ref": "#/components/schemas/SummaryExtraFields" } - }, - "required": ["memberUuids", "members"], - "type": "object" - } - ], - "description": "Details for a group including a list of the group's members." - }, - "ApiGroupResponse": { - "properties": { - "results": { - "anyOf": [ + ] + }, + { + "allOf": [ { - "$ref": "#/components/schemas/Group" + "$ref": "#/components/schemas/Pick_ExploreError.SummaryExploreErrorFields_" }, { - "$ref": "#/components/schemas/GroupWithMembers" + "$ref": "#/components/schemas/Partial_SummaryExtraFields_" } ] - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false } - }, - "required": ["results", "status"], - "type": "object" + ] }, - "ApiGroupMembersResponse": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/GroupMember" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } + "ApiExploresResults": { + "items": { + "$ref": "#/components/schemas/SummaryExplore" }, - "required": ["results", "status"], - "type": "object" + "type": "array" }, - "Pick_GroupMember.userUuid_": { - "properties": { - "userUuid": { - "type": "string", - "description": "Unique id for the user", - "format": "uuid" - } - }, - "required": ["userUuid"], + "OrderFieldsByStrategy": { + "enum": ["LABEL", "INDEX"], + "type": "string" + }, + "Record_string.GroupType_": { + "properties": {}, "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "description": "Construct a type with a set of properties K of type T" }, - "UpdateGroupWithMembers": { + "TableBase": { "properties": { - "members": { + "defaultTimeDimension": { + "$ref": "#/components/schemas/DefaultTimeDimension" + }, + "groupDetails": { + "$ref": "#/components/schemas/Record_string.GroupType_" + }, + "requiredAttributes": { + "$ref": "#/components/schemas/Record_string.string-or-string-Array_" + }, + "hidden": { + "type": "boolean" + }, + "requiredFilters": { "items": { - "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" + "$ref": "#/components/schemas/MetricFilterRule" }, "type": "array" }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "ProjectMemberRole": { - "enum": [ - "viewer", - "interactive_viewer", - "editor", - "developer", - "admin" - ], - "type": "string" - }, - "ProjectGroupAccess": { - "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" - }, - "groupUuid": { + "sqlWhere": { "type": "string" }, - "projectUuid": { + "groupLabel": { "type": "string" - } - }, - "required": ["role", "groupUuid", "projectUuid"], - "type": "object" - }, - "ApiCreateProjectGroupAccess": { - "properties": { - "results": { - "$ref": "#/components/schemas/ProjectGroupAccess" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_CreateDBProjectGroupAccess.role_": { - "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" - } - }, - "required": ["role"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ApiUpdateProjectGroupAccess": { - "properties": { - "results": { - "$ref": "#/components/schemas/ProjectGroupAccess" + "orderFieldsBy": { + "$ref": "#/components/schemas/OrderFieldsByStrategy" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_DBProjectGroupAccess.role_": { - "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" - } - }, - "required": ["role"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "UpdateDBProjectGroupAccess": { - "$ref": "#/components/schemas/Pick_DBProjectGroupAccess.role_" - }, - "NotificationBase": { - "properties": { - "url": { + "sqlTable": { "type": "string" }, - "message": { + "schema": { "type": "string" }, - "resourceUuid": { + "database": { "type": "string" }, - "viewed": { - "type": "boolean" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "notificationId": { - "type": "string" - } - }, - "required": ["viewed", "createdAt", "notificationId"], - "type": "object" - }, - "ApiNotificationResourceType.DashboardComments": { - "enum": ["dashboardComments"], - "type": "string" - }, - "NotificationDashboardTileCommentMetadata": { - "properties": { - "dashboardUuid": { + "description": { "type": "string" }, - "dashboardName": { + "originalName": { "type": "string" }, - "dashboardTileUuid": { + "label": { "type": "string" }, - "dashboardTileName": { + "name": { "type": "string" } }, - "required": [ - "dashboardUuid", - "dashboardName", - "dashboardTileUuid", - "dashboardTileName" - ], + "required": ["sqlTable", "schema", "database", "label", "name"], + "type": "object" + }, + "Record_string.CompiledDimension_": { + "properties": {}, "type": "object", - "additionalProperties": true + "description": "Construct a type with a set of properties K of type T" }, - "NotificationDashboardComment": { - "allOf": [ - { - "$ref": "#/components/schemas/NotificationBase" - }, - { - "properties": { - "metadata": { - "$ref": "#/components/schemas/NotificationDashboardTileCommentMetadata" - }, - "resourceType": { - "$ref": "#/components/schemas/ApiNotificationResourceType.DashboardComments" - } - }, - "required": ["resourceType"], + "Record_string.CompiledMetric_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Record_string.LineageNodeDependency-Array_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "LineageGraph": { + "$ref": "#/components/schemas/Record_string.LineageNodeDependency-Array_" + }, + "CompiledTable": { + "allOf": [ + { + "$ref": "#/components/schemas/TableBase" + }, + { + "properties": { + "uncompiledSqlWhere": { + "type": "string" + }, + "source": { + "$ref": "#/components/schemas/Source" + }, + "lineageGraph": { + "$ref": "#/components/schemas/LineageGraph" + }, + "metrics": { + "$ref": "#/components/schemas/Record_string.CompiledMetric_" + }, + "dimensions": { + "$ref": "#/components/schemas/Record_string.CompiledDimension_" + } + }, + "required": ["lineageGraph", "metrics", "dimensions"], "type": "object" } ] }, - "Notification": { - "$ref": "#/components/schemas/NotificationDashboardComment" - }, - "ApiNotificationsResults": { - "items": { - "$ref": "#/components/schemas/Notification" - }, - "type": "array" + "SupportedDbtAdapter": { + "enum": [ + "bigquery", + "databricks", + "snowflake", + "redshift", + "postgres", + "trino" + ], + "type": "string" }, - "ApiGetNotifications": { + "Explore": { "properties": { - "results": { - "$ref": "#/components/schemas/ApiNotificationsResults" + "type": { + "$ref": "#/components/schemas/ExploreType" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "sqlPath": { + "type": "string" + }, + "ymlPath": { + "type": "string" + }, + "warehouse": { + "type": "string" + }, + "targetDatabase": { + "$ref": "#/components/schemas/SupportedDbtAdapter" + }, + "tables": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/CompiledTable" + }, + "type": "object" + }, + "joinedTables": { + "items": { + "$ref": "#/components/schemas/CompiledExploreJoin" + }, + "type": "array" + }, + "baseTable": { + "type": "string" + }, + "groupLabel": { + "type": "string" + }, + "tags": { + "items": { + "type": "string" + }, + "type": "array" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" } }, - "required": ["results", "status"], + "required": [ + "targetDatabase", + "tables", + "joinedTables", + "baseTable", + "tags", + "label", + "name" + ], "type": "object" }, - "ApiNotificationResourceType": { - "enum": ["dashboardComments"], + "ApiExploreResults": { + "$ref": "#/components/schemas/Explore" + }, + "ApiCompiledQueryResults": { "type": "string" }, - "Pick_Notification.viewed_": { + "GitRepo": { "properties": { - "viewed": { - "type": "boolean" + "ownerLogin": { + "type": "string" + }, + "fullName": { + "type": "string" + }, + "name": { + "type": "string" } }, - "required": ["viewed"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["ownerLogin", "fullName", "name"], + "type": "object" }, - "ApiNotificationUpdateParams": { - "$ref": "#/components/schemas/Pick_Notification.viewed_" + "GitIntegrationConfiguration": { + "properties": { + "enabled": { + "type": "boolean" + } + }, + "required": ["enabled"], + "type": "object" }, - "Organization": { + "PullRequestCreated": { "properties": { - "defaultProjectUuid": { - "type": "string", - "description": "The project a user sees when they first log in to the organization" - }, - "needsProject": { - "type": "boolean", - "description": "The organization needs a project if it doesn't have at least one project." - }, - "chartColors": { - "items": { - "type": "string" - }, - "type": "array", - "description": "The default color palette for all projects in the organization" - }, - "name": { - "type": "string", - "description": "The name of the organization" + "prUrl": { + "type": "string" }, - "organizationUuid": { - "type": "string", - "description": "The unique identifier of the organization", - "format": "uuid" + "prTitle": { + "type": "string" } }, - "required": ["name", "organizationUuid"], - "type": "object", - "description": "Details of a user's Organization" + "required": ["prUrl", "prTitle"], + "type": "object" }, - "ApiOrganization": { + "ApiGdriveAccessTokenResponse": { "properties": { "results": { - "$ref": "#/components/schemas/Organization" + "type": "string" }, "status": { "type": "string", @@ -3710,440 +3810,291 @@ "required": ["results", "status"], "type": "object" }, - "Pick_Organization.name_": { + "ApiJobScheduledResponse": { "properties": { - "name": { + "results": { + "properties": { + "jobId": { + "type": "string" + } + }, + "required": ["jobId"], + "type": "object" + }, + "status": { "type": "string", - "description": "The name of the organization" + "enum": ["ok"], + "nullable": false } }, - "required": ["name"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "CreateOrganization": { - "$ref": "#/components/schemas/Pick_Organization.name_" + "required": ["results", "status"], + "type": "object" }, - "Partial_Omit_Organization.organizationUuid-or-needsProject__": { - "properties": { - "name": { - "type": "string", - "description": "The name of the organization" - }, - "chartColors": { - "items": { - "type": "string" + "FilterGroupResponse": { + "anyOf": [ + { + "properties": { + "or": { + "items": {}, + "type": "array" + }, + "id": { + "type": "string" + } }, - "type": "array", - "description": "The default color palette for all projects in the organization" + "required": ["or", "id"], + "type": "object" }, - "defaultProjectUuid": { - "type": "string", - "description": "The project a user sees when they first log in to the organization" + { + "properties": { + "and": { + "items": {}, + "type": "array" + }, + "id": { + "type": "string" + } + }, + "required": ["and", "id"], + "type": "object" } - }, - "type": "object", - "description": "Make all properties in T optional" + ] }, - "UpdateOrganization": { - "$ref": "#/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__" - }, - "ProjectType": { - "enum": ["DEFAULT", "PREVIEW"], - "type": "string" - }, - "WarehouseTypes": { - "enum": [ - "bigquery", - "postgres", - "redshift", - "snowflake", - "databricks", - "trino" - ], - "type": "string" - }, - "OrganizationProject": { + "FiltersResponse": { "properties": { - "requireUserCredentials": { - "type": "boolean" - }, - "warehouseType": { - "$ref": "#/components/schemas/WarehouseTypes" - }, - "type": { - "$ref": "#/components/schemas/ProjectType" + "tableCalculations": { + "$ref": "#/components/schemas/FilterGroupResponse" }, - "name": { - "type": "string" + "metrics": { + "$ref": "#/components/schemas/FilterGroupResponse" }, - "projectUuid": { - "type": "string", - "description": "The unique identifier of the project", - "format": "uuid" + "dimensions": { + "$ref": "#/components/schemas/FilterGroupResponse" } }, - "required": [ - "requireUserCredentials", - "warehouseType", - "type", - "name", - "projectUuid" - ], - "type": "object", - "description": "Summary of a project under an organization" + "type": "object" }, - "ApiOrganizationProjects": { + "MetricQueryResponse": { "properties": { - "results": { + "metadata": { + "properties": { + "hasADateDimension": { + "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" + } + }, + "required": ["hasADateDimension"], + "type": "object" + }, + "customDimensions": { "items": { - "$ref": "#/components/schemas/OrganizationProject" + "$ref": "#/components/schemas/CustomDimension" }, "type": "array" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object", - "description": "List of projects in the current organization" - }, - "OrganizationMemberRole": { - "enum": [ - "member", - "viewer", - "interactive_viewer", - "editor", - "developer", - "admin" - ], - "type": "string" - }, - "OrganizationMemberProfile": { - "properties": { - "isInviteExpired": { - "type": "boolean", - "description": "Whether the user's invite to the organization has expired" + "additionalMetrics": { + "items": { + "$ref": "#/components/schemas/AdditionalMetric" + }, + "type": "array" }, - "isActive": { - "type": "boolean", - "description": "Whether the user has accepted their invite to the organization" + "tableCalculations": { + "items": { + "$ref": "#/components/schemas/TableCalculation" + }, + "type": "array" }, - "role": { - "$ref": "#/components/schemas/OrganizationMemberRole", - "description": "The role of the user in the organization" + "limit": { + "type": "number", + "format": "double" }, - "organizationUuid": { - "type": "string", - "description": "Unique identifier for the organization the user is a member of" + "sorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" }, - "email": { - "type": "string" + "filters": { + "$ref": "#/components/schemas/FiltersResponse" }, - "lastName": { - "type": "string" + "metrics": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" }, - "firstName": { - "type": "string" + "dimensions": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" }, - "userUuid": { - "type": "string", - "description": "Unique identifier for the user", - "format": "uuid" + "exploreName": { + "type": "string" } }, "required": [ - "isActive", - "role", - "organizationUuid", - "email", - "lastName", - "firstName", - "userUuid" + "tableCalculations", + "limit", + "sorts", + "filters", + "metrics", + "dimensions", + "exploreName" ], - "type": "object", - "description": "Profile for a user's membership in an organization" + "type": "object" }, - "KnexPaginateArgs": { - "properties": { - "page": { - "type": "number", - "format": "double" - }, - "pageSize": { - "type": "number", - "format": "double" - } + "CustomLabel": { + "properties": {}, + "additionalProperties": { + "type": "string" }, - "required": ["page", "pageSize"], "type": "object" }, - "KnexPaginatedData_OrganizationMemberProfile-Array_": { + "UploadMetricGsheet": { "properties": { - "pagination": { - "allOf": [ - { - "$ref": "#/components/schemas/KnexPaginateArgs" - }, - { - "properties": { - "totalPageCount": { - "type": "number", - "format": "double" - } - }, - "required": ["totalPageCount"], - "type": "object" - } - ] + "hiddenFields": { + "items": { + "type": "string" + }, + "type": "array" }, - "data": { + "customLabels": { + "$ref": "#/components/schemas/CustomLabel" + }, + "columnOrder": { "items": { - "$ref": "#/components/schemas/OrganizationMemberProfile" + "type": "string" }, "type": "array" + }, + "showTableNames": { + "type": "boolean" + }, + "metricQuery": { + "$ref": "#/components/schemas/MetricQueryResponse" + }, + "exploreId": { + "type": "string" + }, + "projectUuid": { + "type": "string" } }, - "required": ["data"], + "required": [ + "columnOrder", + "showTableNames", + "metricQuery", + "exploreId", + "projectUuid" + ], "type": "object" }, - "ApiOrganizationMemberProfiles": { + "Group": { "properties": { - "results": { - "$ref": "#/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_" + "organizationUuid": { + "type": "string", + "description": "The UUID of the organization that the group belongs to" }, - "status": { + "updatedByUserUuid": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "ApiOrganizationMemberProfile": { - "properties": { - "results": { - "$ref": "#/components/schemas/OrganizationMemberProfile" + "nullable": true, + "description": "The UUID of the user that last updated the group" }, - "status": { + "updatedAt": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "UUID": { - "type": "string", - "format": "uuid", - "description": "Stringified UUIDv4.\nSee [RFC 4112](https://tools.ietf.org/html/rfc4122)", - "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}" - }, - "OrganizationMemberProfileUpdate": { - "properties": { - "role": { - "$ref": "#/components/schemas/OrganizationMemberRole" - } - }, - "required": ["role"], - "type": "object" - }, - "OrganizationMemberRole.EDITOR": { - "enum": ["editor"], - "type": "string" - }, - "OrganizationMemberRole.INTERACTIVE_VIEWER": { - "enum": ["interactive_viewer"], - "type": "string" - }, - "OrganizationMemberRole.VIEWER": { - "enum": ["viewer"], - "type": "string" - }, - "OrganizationMemberRole.MEMBER": { - "enum": ["member"], - "type": "string" - }, - "AllowedEmailDomainsRole": { - "anyOf": [ - { - "$ref": "#/components/schemas/OrganizationMemberRole.EDITOR" - }, - { - "$ref": "#/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER" - }, - { - "$ref": "#/components/schemas/OrganizationMemberRole.VIEWER" - }, - { - "$ref": "#/components/schemas/OrganizationMemberRole.MEMBER" - } - ] - }, - "ProjectMemberRole.EDITOR": { - "enum": ["editor"], - "type": "string" - }, - "ProjectMemberRole.INTERACTIVE_VIEWER": { - "enum": ["interactive_viewer"], - "type": "string" - }, - "ProjectMemberRole.VIEWER": { - "enum": ["viewer"], - "type": "string" - }, - "AllowedEmailDomainProjectsRole": { - "anyOf": [ - { - "$ref": "#/components/schemas/ProjectMemberRole.EDITOR" - }, - { - "$ref": "#/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER" + "format": "date-time", + "description": "The time that the group was last updated" }, - { - "$ref": "#/components/schemas/ProjectMemberRole.VIEWER" - } - ] - }, - "AllowedEmailDomains": { - "properties": { - "projects": { - "items": { - "properties": { - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" - }, - "projectUuid": { - "type": "string" - } - }, - "required": ["role", "projectUuid"], - "type": "object" - }, - "type": "array" + "createdByUserUuid": { + "type": "string", + "nullable": true, + "description": "The UUID of the user that created the group" }, - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainsRole" + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The time that the group was created" }, - "emailDomains": { - "items": { - "type": "string" - }, - "type": "array" + "name": { + "type": "string", + "description": "A friendly name for the group" }, - "organizationUuid": { - "type": "string" + "uuid": { + "type": "string", + "description": "The group's UUID" } }, "required": [ - "projects", - "role", - "emailDomains", - "organizationUuid" + "organizationUuid", + "updatedByUserUuid", + "updatedAt", + "createdByUserUuid", + "createdAt", + "name", + "uuid" ], "type": "object" }, - "ApiOrganizationAllowedEmailDomains": { + "GroupMember": { "properties": { - "results": { - "$ref": "#/components/schemas/AllowedEmailDomains" + "lastName": { + "type": "string", + "description": "The user's last name" }, - "status": { + "firstName": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__": { - "properties": { - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainsRole" + "description": "The user's first name" }, - "emailDomains": { - "items": { - "type": "string" - }, - "type": "array" + "email": { + "type": "string", + "description": "Primary email address for the user" }, - "projects": { - "items": { - "properties": { - "role": { - "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" - }, - "projectUuid": { - "type": "string" - } - }, - "required": ["role", "projectUuid"], - "type": "object" - }, - "type": "array" - } - }, - "required": ["role", "emailDomains", "projects"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_AllowedEmailDomains.organizationUuid_": { - "$ref": "#/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "UpdateAllowedEmailDomains": { - "$ref": "#/components/schemas/Omit_AllowedEmailDomains.organizationUuid_" - }, - "Pick_Group.name_": { - "properties": { - "name": { + "userUuid": { "type": "string", - "description": "A friendly name for the group" + "description": "Unique id for the user", + "format": "uuid" } }, - "required": ["name"], + "required": ["lastName", "firstName", "email", "userUuid"], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "description": "A summary for a Lightdash user within a group" }, - "CreateGroup": { + "GroupWithMembers": { "allOf": [ { - "$ref": "#/components/schemas/Pick_Group.name_" + "$ref": "#/components/schemas/Group" }, { "properties": { - "members": { + "memberUuids": { "items": { - "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" + "type": "string" }, "type": "array" + }, + "members": { + "items": { + "$ref": "#/components/schemas/GroupMember" + }, + "type": "array", + "description": "A list of the group's members." } }, + "required": ["memberUuids", "members"], "type": "object" } - ] + ], + "description": "Details for a group including a list of the group's members." }, - "ApiGroupListResponse": { + "ApiGroupResponse": { "properties": { "results": { "anyOf": [ { - "items": { - "$ref": "#/components/schemas/Group" - }, - "type": "array" + "$ref": "#/components/schemas/Group" }, { - "items": { - "$ref": "#/components/schemas/GroupWithMembers" - }, - "type": "array" + "$ref": "#/components/schemas/GroupWithMembers" } ] }, @@ -4156,346 +4107,391 @@ "required": ["results", "status"], "type": "object" }, - "ResourceViewItemType.DASHBOARD": { - "enum": ["dashboard"], - "type": "string" - }, - "Pick_ValidationResponse.error-or-createdAt-or-validationId_": { + "ApiGroupMembersResponse": { "properties": { - "validationId": { - "type": "number", - "format": "double" + "results": { + "items": { + "$ref": "#/components/schemas/GroupMember" + }, + "type": "array" }, - "createdAt": { + "status": { "type": "string", - "format": "date-time" - }, - "error": { - "type": "string" + "enum": ["ok"], + "nullable": false } }, - "required": ["validationId", "createdAt", "error"], + "required": ["results", "status"], + "type": "object" + }, + "Pick_GroupMember.userUuid_": { + "properties": { + "userUuid": { + "type": "string", + "description": "Unique id for the user", + "format": "uuid" + } + }, + "required": ["userUuid"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ValidationSummary": { - "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" - }, - "Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_": { + "UpdateGroupWithMembers": { "properties": { + "members": { + "items": { + "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" + }, + "type": "array" + }, "name": { "type": "string" + } + }, + "type": "object" + }, + "ProjectMemberRole": { + "enum": [ + "viewer", + "interactive_viewer", + "editor", + "developer", + "admin" + ], + "type": "string" + }, + "ProjectGroupAccess": { + "properties": { + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" }, - "description": { - "type": "string" - }, - "uuid": { + "groupUuid": { "type": "string" }, - "spaceUuid": { + "projectUuid": { "type": "string" + } + }, + "required": ["role", "groupUuid", "projectUuid"], + "type": "object" + }, + "ApiCreateProjectGroupAccess": { + "properties": { + "results": { + "$ref": "#/components/schemas/ProjectGroupAccess" }, - "pinnedListUuid": { + "status": { "type": "string", - "nullable": true + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_CreateDBProjectGroupAccess.role_": { + "properties": { + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" + } + }, + "required": ["role"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "ApiUpdateProjectGroupAccess": { + "properties": { + "results": { + "$ref": "#/components/schemas/ProjectGroupAccess" }, - "updatedAt": { + "status": { "type": "string", - "format": "date-time" - }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" - }, - "views": { - "type": "number", - "format": "double" - }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_DBProjectGroupAccess.role_": { + "properties": { + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" + } + }, + "required": ["role"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "UpdateDBProjectGroupAccess": { + "$ref": "#/components/schemas/Pick_DBProjectGroupAccess.role_" + }, + "Record_string._value-ResultValue--__": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "ResultRow": { + "$ref": "#/components/schemas/Record_string._value-ResultValue--__" + }, + "Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "ItemsMap": { + "$ref": "#/components/schemas/Record_string.Field-or-TableCalculation-or-CustomDimension-or-Metric_" + }, + "MetricsExplorerQueryResults": { + "properties": { + "fields": { + "$ref": "#/components/schemas/ItemsMap" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "comparisonRows": { + "items": { + "$ref": "#/components/schemas/ResultRow" + }, + "type": "array" }, - "validationErrors": { + "rows": { "items": { - "$ref": "#/components/schemas/ValidationSummary" + "$ref": "#/components/schemas/ResultRow" }, "type": "array" + }, + "metric": { + "$ref": "#/components/schemas/MetricWithAssociatedTimeDimension" } }, - "required": [ - "name", - "uuid", - "spaceUuid", - "pinnedListUuid", - "updatedAt", - "views", - "firstViewedAt", - "pinnedListOrder" - ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ResourceItemCategory": { - "enum": ["mostPopular", "recentlyUpdated", "pinned"], - "type": "string" + "required": ["fields", "rows", "metric"], + "type": "object" }, - "ResourceViewDashboardItem": { + "ApiMetricsExplorerQueryResults": { "properties": { - "category": { - "$ref": "#/components/schemas/ResourceItemCategory" - }, - "data": { - "$ref": "#/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_" + "results": { + "$ref": "#/components/schemas/MetricsExplorerQueryResults" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType.DASHBOARD" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["data", "type"], + "required": ["results", "status"], "type": "object" }, - "ResourceViewItemType.CHART": { - "enum": ["chart"], + "TimeDimensionConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/DefaultTimeDimension" + }, + { + "properties": { + "table": { + "type": "string" + } + }, + "required": ["table"], + "type": "object" + } + ] + }, + "MetricExplorerComparison.NONE": { + "enum": ["none"], "type": "string" }, - "ChartType": { - "enum": [ - "cartesian", - "table", - "big_number", - "pie", - "funnel", - "custom" - ], + "MetricExplorerComparison.PREVIOUS_PERIOD": { + "enum": ["previous_period"], "type": "string" }, - "Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_": { - "properties": { - "name": { - "type": "string" + "MetricExplorerComparison.DIFFERENT_METRIC": { + "enum": ["different_metric"], + "type": "string" + }, + "MetricExplorerComparisonType": { + "anyOf": [ + { + "properties": { + "type": { + "$ref": "#/components/schemas/MetricExplorerComparison.NONE" + } + }, + "required": ["type"], + "type": "object" }, - "description": { - "type": "string" + { + "properties": { + "type": { + "$ref": "#/components/schemas/MetricExplorerComparison.PREVIOUS_PERIOD" + } + }, + "required": ["type"], + "type": "object" }, - "uuid": { + { + "properties": { + "metricName": { + "type": "string" + }, + "metricTable": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/MetricExplorerComparison.DIFFERENT_METRIC" + } + }, + "required": ["metricName", "metricTable", "type"], + "type": "object" + } + ] + }, + "NotificationBase": { + "properties": { + "url": { "type": "string" }, - "spaceUuid": { + "message": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "slug": { + "resourceUuid": { "type": "string" }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" + "viewed": { + "type": "boolean" }, - "updatedAt": { + "createdAt": { "type": "string", "format": "date-time" }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" + "notificationId": { + "type": "string" + } + }, + "required": ["viewed", "createdAt", "notificationId"], + "type": "object" + }, + "ApiNotificationResourceType.DashboardComments": { + "enum": ["dashboardComments"], + "type": "string" + }, + "NotificationDashboardTileCommentMetadata": { + "properties": { + "dashboardUuid": { + "type": "string" }, - "views": { - "type": "number", - "format": "double" + "dashboardName": { + "type": "string" }, - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true - }, - "validationErrors": { - "items": { - "$ref": "#/components/schemas/ValidationSummary" - }, - "type": "array" + "dashboardTileUuid": { + "type": "string" }, - "chartType": { - "$ref": "#/components/schemas/ChartType" + "dashboardTileName": { + "type": "string" } }, "required": [ - "name", - "uuid", - "spaceUuid", - "pinnedListUuid", - "slug", - "updatedAt", - "views", - "firstViewedAt", - "pinnedListOrder" + "dashboardUuid", + "dashboardName", + "dashboardTileUuid", + "dashboardTileName" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ChartSourceType": { - "enum": ["dbt_explore", "sql", "semantic_layer"], - "type": "string" + "additionalProperties": true }, - "ResourceViewChartItem": { - "properties": { - "category": { - "$ref": "#/components/schemas/ResourceItemCategory" + "NotificationDashboardComment": { + "allOf": [ + { + "$ref": "#/components/schemas/NotificationBase" }, - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_" + { + "properties": { + "metadata": { + "$ref": "#/components/schemas/NotificationDashboardTileCommentMetadata" }, - { - "properties": { - "source": { - "$ref": "#/components/schemas/ChartSourceType" - } - }, - "type": "object" + "resourceType": { + "$ref": "#/components/schemas/ApiNotificationResourceType.DashboardComments" } - ] + }, + "required": ["resourceType"], + "type": "object" + } + ] + }, + "Notification": { + "$ref": "#/components/schemas/NotificationDashboardComment" + }, + "ApiNotificationsResults": { + "items": { + "$ref": "#/components/schemas/Notification" + }, + "type": "array" + }, + "ApiGetNotifications": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiNotificationsResults" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType.CHART" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["data", "type"], + "required": ["results", "status"], "type": "object" }, - "ResourceViewItemType.SPACE": { - "enum": ["space"], + "ApiNotificationResourceType": { + "enum": ["dashboardComments"], "type": "string" }, - "Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_": { + "Pick_Notification.viewed_": { "properties": { - "name": { - "type": "string" - }, - "uuid": { - "type": "string" - }, - "projectUuid": { - "type": "string" - }, - "organizationUuid": { - "type": "string" - }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "isPrivate": { + "viewed": { "type": "boolean" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true } }, - "required": [ - "name", - "uuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "isPrivate", - "pinnedListOrder" - ], + "required": ["viewed"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ResourceViewSpaceItem": { + "ApiNotificationUpdateParams": { + "$ref": "#/components/schemas/Pick_Notification.viewed_" + }, + "Organization": { "properties": { - "data": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_" - }, - { - "properties": { - "chartCount": { - "type": "number", - "format": "double" - }, - "dashboardCount": { - "type": "number", - "format": "double" - }, - "accessListLength": { - "type": "number", - "format": "double" - }, - "access": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "chartCount", - "dashboardCount", - "accessListLength", - "access" - ], - "type": "object" - } - ] + "defaultProjectUuid": { + "type": "string", + "description": "The project a user sees when they first log in to the organization" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType.SPACE" - } - }, - "required": ["data", "type"], - "type": "object" - }, - "PinnedItems": { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/ResourceViewDashboardItem" - }, - { - "$ref": "#/components/schemas/ResourceViewChartItem" + "needsProject": { + "type": "boolean", + "description": "The organization needs a project if it doesn't have at least one project." + }, + "chartColors": { + "items": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResourceViewSpaceItem" - } - ] + "type": "array", + "description": "The default color palette for all projects in the organization" + }, + "name": { + "type": "string", + "description": "The name of the organization" + }, + "organizationUuid": { + "type": "string", + "description": "The unique identifier of the organization", + "format": "uuid" + } }, - "type": "array" + "required": ["name", "organizationUuid"], + "type": "object", + "description": "Details of a user's Organization" }, - "ApiPinnedItems": { + "ApiOrganization": { "properties": { "results": { - "$ref": "#/components/schemas/PinnedItems" + "$ref": "#/components/schemas/Organization" }, "status": { "type": "string", @@ -4506,1812 +4502,1725 @@ "required": ["results", "status"], "type": "object" }, - "ResourceViewItemType": { - "enum": ["chart", "dashboard", "space"], - "type": "string" - }, - "Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_": { + "Pick_Organization.name_": { "properties": { - "uuid": { - "type": "string" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + "name": { + "type": "string", + "description": "The name of the organization" } }, - "required": ["uuid", "pinnedListOrder"], + "required": ["name"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "UpdatePinnedItemOrder": { + "CreateOrganization": { + "$ref": "#/components/schemas/Pick_Organization.name_" + }, + "Partial_Omit_Organization.organizationUuid-or-needsProject__": { "properties": { - "data": { - "$ref": "#/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_" + "name": { + "type": "string", + "description": "The name of the organization" }, - "type": { - "$ref": "#/components/schemas/ResourceViewItemType" - } - }, - "required": ["data", "type"], - "type": "object" - }, - "DbtProjectType.DBT": { - "enum": ["dbt"], - "type": "string" - }, - "DbtProjectEnvironmentVariable": { - "properties": { - "value": { - "type": "string" + "chartColors": { + "items": { + "type": "string" + }, + "type": "array", + "description": "The default color palette for all projects in the organization" }, - "key": { - "type": "string" + "defaultProjectUuid": { + "type": "string", + "description": "The project a user sees when they first log in to the organization" } }, - "required": ["value", "key"], - "type": "object" + "type": "object", + "description": "Make all properties in T optional" }, - "DbtProjectType": { + "UpdateOrganization": { + "$ref": "#/components/schemas/Partial_Omit_Organization.organizationUuid-or-needsProject__" + }, + "ProjectType": { + "enum": ["DEFAULT", "PREVIEW"], + "type": "string" + }, + "WarehouseTypes": { "enum": [ - "dbt", - "dbt_cloud_ide", - "github", - "gitlab", - "bitbucket", - "azure_devops", - "none" + "bigquery", + "postgres", + "redshift", + "snowflake", + "databricks", + "trino" ], "type": "string" }, - "DbtLocalProjectConfig": { + "OrganizationProject": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.DBT" + "requireUserCredentials": { + "type": "boolean" }, - "target": { - "type": "string" + "warehouseType": { + "$ref": "#/components/schemas/WarehouseTypes" }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" + "upstreamProjectUuid": { + "type": "string", + "nullable": true }, - "profiles_dir": { - "type": "string" + "createdByUserUuid": { + "type": "string", + "nullable": true }, - "project_dir": { - "type": "string" - } - }, - "required": ["type"], - "type": "object", - "additionalProperties": true - }, - "DbtProjectType.DBT_CLOUD_IDE": { - "enum": ["dbt_cloud_ide"], - "type": "string" - }, - "DbtCloudIDEProjectConfig": { - "properties": { "type": { - "$ref": "#/components/schemas/DbtProjectType.DBT_CLOUD_IDE" + "$ref": "#/components/schemas/ProjectType" }, - "api_key": { + "name": { "type": "string" }, - "environment_id": { - "type": "string" + "projectUuid": { + "type": "string", + "description": "The unique identifier of the project", + "format": "uuid" } }, - "required": ["type", "api_key", "environment_id"], + "required": [ + "requireUserCredentials", + "warehouseType", + "upstreamProjectUuid", + "createdByUserUuid", + "type", + "name", + "projectUuid" + ], "type": "object", - "additionalProperties": true - }, - "DbtProjectType.GITHUB": { - "enum": ["github"], - "type": "string" + "description": "Summary of a project under an organization" }, - "DbtGithubProjectConfig": { + "ApiOrganizationProjects": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.GITHUB" - }, - "target": { - "type": "string" - }, - "environment": { + "results": { "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + "$ref": "#/components/schemas/OrganizationProject" }, "type": "array" }, - "personal_access_token": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "project_sub_path": { - "type": "string" - }, - "host_domain": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": [ - "type", - "personal_access_token", - "repository", - "branch", - "project_sub_path" - ], + "required": ["results", "status"], "type": "object", - "additionalProperties": true + "description": "List of projects in the current organization" }, - "DbtProjectType.BITBUCKET": { - "enum": ["bitbucket"], + "OrganizationMemberRole": { + "enum": [ + "member", + "viewer", + "interactive_viewer", + "editor", + "developer", + "admin" + ], "type": "string" }, - "DbtBitBucketProjectConfig": { + "OrganizationMemberProfile": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.BITBUCKET" + "isPending": { + "type": "boolean", + "description": "Whether the user doesn't have an authentication method (password or openId)" }, - "target": { - "type": "string" + "isInviteExpired": { + "type": "boolean", + "description": "Whether the user's invite to the organization has expired" }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" + "isActive": { + "type": "boolean", + "description": "Whether the user can login" }, - "username": { - "type": "string" + "role": { + "$ref": "#/components/schemas/OrganizationMemberRole", + "description": "The role of the user in the organization" }, - "personal_access_token": { - "type": "string" + "organizationUuid": { + "type": "string", + "description": "Unique identifier for the organization the user is a member of" }, - "repository": { + "email": { "type": "string" }, - "branch": { + "lastName": { "type": "string" }, - "project_sub_path": { + "firstName": { "type": "string" }, - "host_domain": { - "type": "string" + "userUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "userCreatedAt": { + "type": "string", + "format": "date-time" + }, + "userUuid": { + "type": "string", + "description": "Unique identifier for the user", + "format": "uuid" } }, "required": [ - "type", - "username", - "personal_access_token", - "repository", - "branch", - "project_sub_path" + "isActive", + "role", + "organizationUuid", + "email", + "lastName", + "firstName", + "userUpdatedAt", + "userCreatedAt", + "userUuid" ], "type": "object", - "additionalProperties": true - }, - "DbtProjectType.GITLAB": { - "enum": ["gitlab"], - "type": "string" + "description": "Profile for a user's membership in an organization" }, - "DbtGitlabProjectConfig": { + "KnexPaginatedData_OrganizationMemberProfile-Array_": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.GITLAB" - }, - "target": { - "type": "string" + "pagination": { + "allOf": [ + { + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": ["totalResults", "totalPageCount"], + "type": "object" + } + ] }, - "environment": { + "data": { "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + "$ref": "#/components/schemas/OrganizationMemberProfile" }, "type": "array" - }, - "personal_access_token": { - "type": "string" - }, - "repository": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "project_sub_path": { - "type": "string" - }, - "host_domain": { - "type": "string" } }, - "required": [ - "type", - "personal_access_token", - "repository", - "branch", - "project_sub_path" - ], - "type": "object", - "additionalProperties": true - }, - "DbtProjectType.AZURE_DEVOPS": { - "enum": ["azure_devops"], - "type": "string" + "required": ["data"], + "type": "object" }, - "DbtAzureDevOpsProjectConfig": { + "ApiOrganizationMemberProfiles": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.AZURE_DEVOPS" - }, - "target": { - "type": "string" - }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" - }, - "personal_access_token": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "project": { - "type": "string" - }, - "repository": { - "type": "string" + "results": { + "$ref": "#/components/schemas/KnexPaginatedData_OrganizationMemberProfile-Array_" }, - "branch": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ApiOrganizationMemberProfile": { + "properties": { + "results": { + "$ref": "#/components/schemas/OrganizationMemberProfile" }, - "project_sub_path": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": [ - "type", - "personal_access_token", - "organization", - "project", - "repository", - "branch", - "project_sub_path" - ], - "type": "object", - "additionalProperties": true + "required": ["results", "status"], + "type": "object" }, - "DbtProjectType.NONE": { - "enum": ["none"], - "type": "string" + "UUID": { + "type": "string", + "format": "uuid", + "description": "Stringified UUIDv4.\nSee [RFC 4112](https://tools.ietf.org/html/rfc4122)", + "pattern": "[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-4[0-9A-Fa-f]{3}-[89ABab][0-9A-Fa-f]{3}-[0-9A-Fa-f]{12}" }, - "DbtNoneProjectConfig": { + "OrganizationMemberProfileUpdate": { "properties": { - "type": { - "$ref": "#/components/schemas/DbtProjectType.NONE" - }, - "target": { - "type": "string" - }, - "environment": { - "items": { - "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" - }, - "type": "array" - }, - "hideRefreshButton": { - "type": "boolean" + "role": { + "$ref": "#/components/schemas/OrganizationMemberRole" } }, - "required": ["type"], - "type": "object", - "additionalProperties": true + "required": ["role"], + "type": "object" }, - "DbtProjectConfig": { + "OrganizationMemberRole.EDITOR": { + "enum": ["editor"], + "type": "string" + }, + "OrganizationMemberRole.INTERACTIVE_VIEWER": { + "enum": ["interactive_viewer"], + "type": "string" + }, + "OrganizationMemberRole.VIEWER": { + "enum": ["viewer"], + "type": "string" + }, + "OrganizationMemberRole.MEMBER": { + "enum": ["member"], + "type": "string" + }, + "AllowedEmailDomainsRole": { "anyOf": [ { - "$ref": "#/components/schemas/DbtLocalProjectConfig" + "$ref": "#/components/schemas/OrganizationMemberRole.EDITOR" }, { - "$ref": "#/components/schemas/DbtCloudIDEProjectConfig" + "$ref": "#/components/schemas/OrganizationMemberRole.INTERACTIVE_VIEWER" }, { - "$ref": "#/components/schemas/DbtGithubProjectConfig" + "$ref": "#/components/schemas/OrganizationMemberRole.VIEWER" }, { - "$ref": "#/components/schemas/DbtBitBucketProjectConfig" - }, + "$ref": "#/components/schemas/OrganizationMemberRole.MEMBER" + } + ] + }, + "ProjectMemberRole.EDITOR": { + "enum": ["editor"], + "type": "string" + }, + "ProjectMemberRole.INTERACTIVE_VIEWER": { + "enum": ["interactive_viewer"], + "type": "string" + }, + "ProjectMemberRole.VIEWER": { + "enum": ["viewer"], + "type": "string" + }, + "AllowedEmailDomainProjectsRole": { + "anyOf": [ { - "$ref": "#/components/schemas/DbtGitlabProjectConfig" + "$ref": "#/components/schemas/ProjectMemberRole.EDITOR" }, { - "$ref": "#/components/schemas/DbtAzureDevOpsProjectConfig" + "$ref": "#/components/schemas/ProjectMemberRole.INTERACTIVE_VIEWER" }, { - "$ref": "#/components/schemas/DbtNoneProjectConfig" + "$ref": "#/components/schemas/ProjectMemberRole.VIEWER" } ] }, - "WarehouseTypes.SNOWFLAKE": { - "enum": ["snowflake"], - "type": "string" - }, - "WeekDay": { - "enum": [0, 1, 2, 3, 4, 5, 6], - "type": "number" - }, - "Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__": { + "AllowedEmailDomains": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" - }, - "warehouse": { - "type": "string" + "projects": { + "items": { + "properties": { + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" + }, + "projectUuid": { + "type": "string" + } + }, + "required": ["role", "projectUuid"], + "type": "object" + }, + "type": "array" }, "role": { - "type": "string" - }, - "account": { - "type": "string" - }, - "requireUserCredentials": { - "type": "boolean" - }, - "database": { - "type": "string" - }, - "schema": { - "type": "string" - }, - "threads": { - "type": "number", - "format": "double" - }, - "clientSessionKeepAlive": { - "type": "boolean" - }, - "queryTag": { - "type": "string" - }, - "accessUrl": { - "type": "string" - }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], - "nullable": true + "$ref": "#/components/schemas/AllowedEmailDomainsRole" }, - "quotedIdentifiersIgnoreCase": { - "type": "boolean" + "emailDomains": { + "items": { + "type": "string" + }, + "type": "array" }, - "override": { + "organizationUuid": { "type": "string" } }, "required": [ - "type", - "warehouse", - "account", - "database", - "schema" + "projects", + "role", + "emailDomains", + "organizationUuid" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "type": "object" }, - "Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_": { - "$ref": "#/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "SnowflakeCredentials": { - "$ref": "#/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_" - }, - "WarehouseTypes.REDSHIFT": { - "enum": ["redshift"], - "type": "string" + "ApiOrganizationAllowedEmailDomains": { + "properties": { + "results": { + "$ref": "#/components/schemas/AllowedEmailDomains" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" }, - "Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__": { + "Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.REDSHIFT" + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainsRole" }, - "requireUserCredentials": { - "type": "boolean" + "emailDomains": { + "items": { + "type": "string" + }, + "type": "array" }, - "schema": { - "type": "string" + "projects": { + "items": { + "properties": { + "role": { + "$ref": "#/components/schemas/AllowedEmailDomainProjectsRole" + }, + "projectUuid": { + "type": "string" + } + }, + "required": ["role", "projectUuid"], + "type": "object" + }, + "type": "array" + } + }, + "required": ["role", "emailDomains", "projects"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_AllowedEmailDomains.organizationUuid_": { + "$ref": "#/components/schemas/Pick_AllowedEmailDomains.Exclude_keyofAllowedEmailDomains.organizationUuid__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "UpdateAllowedEmailDomains": { + "$ref": "#/components/schemas/Omit_AllowedEmailDomains.organizationUuid_" + }, + "ApiCreateGroupResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/GroupWithMembers" }, - "threads": { - "type": "number", - "format": "double" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_Group.name_": { + "properties": { + "name": { + "type": "string", + "description": "A friendly name for the group" + } + }, + "required": ["name"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CreateGroup": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Group.name_" }, - "startOfWeek": { + { + "properties": { + "members": { + "items": { + "$ref": "#/components/schemas/Pick_GroupMember.userUuid_" + }, + "type": "array" + } + }, + "type": "object" + } + ] + }, + "KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_": { + "properties": { + "pagination": { "allOf": [ { - "$ref": "#/components/schemas/WeekDay" + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": ["totalResults", "totalPageCount"], + "type": "object" } - ], - "nullable": true - }, - "useSshTunnel": { - "type": "boolean" - }, - "sshTunnelHost": { - "type": "string" - }, - "sshTunnelPort": { - "type": "number", - "format": "double" - }, - "sshTunnelUser": { - "type": "string" - }, - "sshTunnelPublicKey": { - "type": "string" + ] }, - "host": { - "type": "string" + "data": { + "anyOf": [ + { + "items": { + "$ref": "#/components/schemas/Group" + }, + "type": "array" + }, + { + "items": { + "$ref": "#/components/schemas/GroupWithMembers" + }, + "type": "array" + } + ] + } + }, + "required": ["data"], + "type": "object" + }, + "ApiGroupListResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/KnexPaginatedData_Group-Array-or-GroupWithMembers-Array_" }, - "port": { + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ResourceViewItemType.DASHBOARD": { + "enum": ["dashboard"], + "type": "string" + }, + "Pick_ValidationResponse.error-or-createdAt-or-validationId_": { + "properties": { + "validationId": { "type": "number", "format": "double" }, - "dbname": { - "type": "string" - }, - "keepalivesIdle": { - "type": "number", - "format": "double" + "createdAt": { + "type": "string", + "format": "date-time" }, - "sslmode": { + "error": { "type": "string" - }, - "ra3Node": { - "type": "boolean" } }, - "required": ["type", "schema", "host", "port", "dbname"], + "required": ["validationId", "createdAt", "error"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_": { - "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "RedshiftCredentials": { - "$ref": "#/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_" - }, - "WarehouseTypes.POSTGRES": { - "enum": ["postgres"], - "type": "string" + "ValidationSummary": { + "$ref": "#/components/schemas/Pick_ValidationResponse.error-or-createdAt-or-validationId_" }, - "Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__": { + "Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.POSTGRES" + "name": { + "type": "string" }, - "role": { + "description": { "type": "string" }, - "requireUserCredentials": { - "type": "boolean" + "uuid": { + "type": "string" }, - "schema": { + "spaceUuid": { "type": "string" }, - "threads": { + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { "type": "number", "format": "double" }, - "startOfWeek": { - "allOf": [ + "firstViewedAt": { + "anyOf": [ { - "$ref": "#/components/schemas/WeekDay" + "type": "string", + "format": "date-time" + }, + { + "type": "string" } ], "nullable": true }, - "useSshTunnel": { - "type": "boolean" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true }, - "sshTunnelHost": { - "type": "string" - }, - "sshTunnelPort": { - "type": "number", - "format": "double" - }, - "sshTunnelUser": { - "type": "string" - }, - "sshTunnelPublicKey": { - "type": "string" - }, - "host": { - "type": "string" - }, - "port": { - "type": "number", - "format": "double" - }, - "dbname": { - "type": "string" - }, - "keepalivesIdle": { - "type": "number", - "format": "double" - }, - "sslmode": { - "type": "string" - }, - "searchPath": { - "type": "string" + "validationErrors": { + "items": { + "$ref": "#/components/schemas/ValidationSummary" + }, + "type": "array" } }, - "required": ["type", "schema", "host", "port", "dbname"], + "required": [ + "name", + "uuid", + "spaceUuid", + "pinnedListUuid", + "updatedAt", + "views", + "firstViewedAt", + "pinnedListOrder" + ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_": { - "$ref": "#/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__", - "description": "Construct a type with the properties of T except for those in type K." + "ResourceItemCategory": { + "enum": ["mostPopular", "recentlyUpdated", "pinned"], + "type": "string" }, - "PostgresCredentials": { - "$ref": "#/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_" + "ResourceViewDashboardItem": { + "properties": { + "category": { + "$ref": "#/components/schemas/ResourceItemCategory" + }, + "data": { + "$ref": "#/components/schemas/Pick_DashboardBasicDetails.uuid-or-spaceUuid-or-description-or-name-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder-or-updatedAt-or-updatedByUser-or-validationErrors_" + }, + "type": { + "$ref": "#/components/schemas/ResourceViewItemType.DASHBOARD" + } + }, + "required": ["data", "type"], + "type": "object" }, - "WarehouseTypes.BIGQUERY": { - "enum": ["bigquery"], + "ResourceViewItemType.CHART": { + "enum": ["chart"], "type": "string" }, - "Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__": { + "ChartType": { + "enum": [ + "cartesian", + "table", + "big_number", + "pie", + "funnel", + "custom" + ], + "type": "string" + }, + "Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" - }, - "requireUserCredentials": { - "type": "boolean" + "name": { + "type": "string" }, - "threads": { - "type": "number", - "format": "double" + "description": { + "type": "string" }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], - "nullable": true + "uuid": { + "type": "string" }, - "project": { + "spaceUuid": { "type": "string" }, - "dataset": { + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "slug": { "type": "string" }, - "timeoutSeconds": { - "type": "number", - "format": "double" + "chartKind": { + "$ref": "#/components/schemas/ChartKind" }, - "priority": { + "updatedAt": { "type": "string", - "enum": ["interactive", "batch"] + "format": "date-time" }, - "retries": { + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "views": { "type": "number", "format": "double" }, - "location": { - "type": "string" + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true }, - "maximumBytesBilled": { + "pinnedListOrder": { "type": "number", - "format": "double" + "format": "double", + "nullable": true }, - "executionProject": { - "type": "string" + "validationErrors": { + "items": { + "$ref": "#/components/schemas/ValidationSummary" + }, + "type": "array" + }, + "chartType": { + "$ref": "#/components/schemas/ChartType" } }, - "required": ["type", "project", "dataset"], + "required": [ + "name", + "uuid", + "spaceUuid", + "pinnedListUuid", + "slug", + "updatedAt", + "views", + "firstViewedAt", + "pinnedListOrder" + ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_": { - "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "BigqueryCredentials": { - "$ref": "#/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_" - }, - "WarehouseTypes.DATABRICKS": { - "enum": ["databricks"], + "ChartSourceType": { + "enum": ["dbt_explore", "sql", "semantic_layer"], "type": "string" }, - "Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__": { + "ResourceViewChartItem": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" - }, - "requireUserCredentials": { - "type": "boolean" - }, - "database": { - "type": "string" + "category": { + "$ref": "#/components/schemas/ResourceItemCategory" }, - "startOfWeek": { + "data": { "allOf": [ { - "$ref": "#/components/schemas/WeekDay" + "$ref": "#/components/schemas/Pick_SpaceQuery.uuid-or-name-or-chartType-or-chartKind-or-firstViewedAt-or-views-or-pinnedListUuid-or-pinnedListOrder-or-spaceUuid-or-description-or-updatedAt-or-updatedByUser-or-validationErrors-or-slug_" + }, + { + "properties": { + "source": { + "$ref": "#/components/schemas/ChartSourceType" + } + }, + "type": "object" } - ], - "nullable": true - }, - "catalog": { - "type": "string" - }, - "serverHostName": { - "type": "string" + ] }, - "httpPath": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ResourceViewItemType.CHART" } }, - "required": ["type", "database", "serverHostName", "httpPath"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_": { - "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "DatabricksCredentials": { - "$ref": "#/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_" + "required": ["data", "type"], + "type": "object" }, - "WarehouseTypes.TRINO": { - "enum": ["trino"], + "ResourceViewItemType.SPACE": { + "enum": ["space"], "type": "string" }, - "Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__": { + "Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.TRINO" - }, - "requireUserCredentials": { - "type": "boolean" + "name": { + "type": "string" }, - "schema": { + "uuid": { "type": "string" }, - "startOfWeek": { - "allOf": [ - { - "$ref": "#/components/schemas/WeekDay" - } - ], - "nullable": true + "projectUuid": { + "type": "string" }, - "host": { + "organizationUuid": { "type": "string" }, - "port": { - "type": "number", - "format": "double" + "pinnedListUuid": { + "type": "string", + "nullable": true }, - "dbname": { - "type": "string" + "isPrivate": { + "type": "boolean" }, - "http_scheme": { - "type": "string" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "type", - "schema", - "host", - "port", - "dbname", - "http_scheme" + "name", + "uuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "isPrivate", + "pinnedListOrder" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_": { - "$ref": "#/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__", - "description": "Construct a type with the properties of T except for those in type K." + "ResourceViewSpaceItem": { + "properties": { + "data": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Space.projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-organizationUuid_" + }, + { + "properties": { + "chartCount": { + "type": "number", + "format": "double" + }, + "dashboardCount": { + "type": "number", + "format": "double" + }, + "accessListLength": { + "type": "number", + "format": "double" + }, + "access": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "chartCount", + "dashboardCount", + "accessListLength", + "access" + ], + "type": "object" + } + ] + }, + "type": { + "$ref": "#/components/schemas/ResourceViewItemType.SPACE" + } + }, + "required": ["data", "type"], + "type": "object" }, - "TrinoCredentials": { - "$ref": "#/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_" + "PinnedItems": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/ResourceViewDashboardItem" + }, + { + "$ref": "#/components/schemas/ResourceViewChartItem" + }, + { + "$ref": "#/components/schemas/ResourceViewSpaceItem" + } + ] + }, + "type": "array" }, - "WarehouseCredentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/SnowflakeCredentials" - }, - { - "$ref": "#/components/schemas/RedshiftCredentials" - }, - { - "$ref": "#/components/schemas/PostgresCredentials" - }, - { - "$ref": "#/components/schemas/BigqueryCredentials" - }, - { - "$ref": "#/components/schemas/DatabricksCredentials" + "ApiPinnedItems": { + "properties": { + "results": { + "$ref": "#/components/schemas/PinnedItems" }, - { - "$ref": "#/components/schemas/TrinoCredentials" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } - ] - }, - "SupportedDbtVersions": { - "enum": ["v1.4", "v1.5", "v1.6", "v1.7", "v1.8"], - "type": "string" + }, + "required": ["results", "status"], + "type": "object" }, - "SemanticLayerType.DBT": { - "enum": ["DBT"], + "ResourceViewItemType": { + "enum": ["chart", "dashboard", "space"], "type": "string" }, - "DbtSemanticLayerConnection": { + "Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_": { "properties": { - "token": { - "type": "string" - }, - "domain": { + "uuid": { "type": "string" }, - "environmentId": { - "type": "string" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + } + }, + "required": ["uuid", "pinnedListOrder"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "UpdatePinnedItemOrder": { + "properties": { + "data": { + "$ref": "#/components/schemas/Pick_ResourceViewItem-at-data.uuid-or-pinnedListOrder_" }, "type": { - "$ref": "#/components/schemas/SemanticLayerType.DBT" + "$ref": "#/components/schemas/ResourceViewItemType" } }, - "required": ["token", "domain", "environmentId", "type"], + "required": ["data", "type"], "type": "object" }, - "SemanticLayerType.CUBE": { - "enum": ["CUBE"], + "DbtProjectType.DBT": { + "enum": ["dbt"], "type": "string" }, - "CubeSemanticLayerConnection": { + "DbtProjectEnvironmentVariable": { "properties": { - "token": { + "value": { "type": "string" }, - "domain": { + "key": { "type": "string" - }, - "type": { - "$ref": "#/components/schemas/SemanticLayerType.CUBE" } }, - "required": ["token", "domain", "type"], + "required": ["value", "key"], "type": "object" }, - "SemanticLayerConnection": { - "anyOf": [ - { - "$ref": "#/components/schemas/DbtSemanticLayerConnection" - }, - { - "$ref": "#/components/schemas/CubeSemanticLayerConnection" - } - ] + "DbtProjectType": { + "enum": [ + "dbt", + "dbt_cloud_ide", + "github", + "gitlab", + "bitbucket", + "azure_devops", + "none" + ], + "type": "string" }, - "Project": { + "DbtLocalProjectConfig": { "properties": { - "semanticLayerConnection": { - "$ref": "#/components/schemas/SemanticLayerConnection" - }, - "dbtVersion": { - "$ref": "#/components/schemas/SupportedDbtVersions" - }, - "upstreamProjectUuid": { - "type": "string" + "type": { + "$ref": "#/components/schemas/DbtProjectType.DBT" }, - "pinnedListUuid": { + "target": { "type": "string" }, - "warehouseConnection": { - "$ref": "#/components/schemas/WarehouseCredentials" - }, - "dbtConnection": { - "$ref": "#/components/schemas/DbtProjectConfig" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" }, - "type": { - "$ref": "#/components/schemas/ProjectType" + "profiles_dir": { + "type": "string" }, - "name": { + "project_dir": { "type": "string" + } + }, + "required": ["type"], + "type": "object", + "additionalProperties": true + }, + "DbtProjectType.DBT_CLOUD_IDE": { + "enum": ["dbt_cloud_ide"], + "type": "string" + }, + "DbtCloudIDEProjectConfig": { + "properties": { + "type": { + "$ref": "#/components/schemas/DbtProjectType.DBT_CLOUD_IDE" }, - "projectUuid": { + "api_key": { "type": "string" }, - "organizationUuid": { + "environment_id": { "type": "string" } }, - "required": [ - "dbtVersion", - "dbtConnection", - "type", - "name", - "projectUuid", - "organizationUuid" - ], - "type": "object" + "required": ["type", "api_key", "environment_id"], + "type": "object", + "additionalProperties": true }, - "ApiProjectResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/Project" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "DbtProjectType.GITHUB": { + "enum": ["github"], + "type": "string" }, - "Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_": { + "DbtGithubProjectConfig": { "properties": { - "name": { - "type": "string" + "type": { + "$ref": "#/components/schemas/DbtProjectType.GITHUB" }, - "description": { + "target": { "type": "string" }, - "uuid": { - "type": "string" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" }, - "spaceName": { + "personal_access_token": { "type": "string" }, - "spaceUuid": { + "repository": { "type": "string" }, - "projectUuid": { + "branch": { "type": "string" }, - "organizationUuid": { + "project_sub_path": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "dashboardUuid": { - "type": "string", - "nullable": true - }, - "dashboardName": { - "type": "string", - "nullable": true - }, - "slug": { + "host_domain": { "type": "string" } }, "required": [ - "name", - "uuid", - "spaceName", - "spaceUuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "dashboardUuid", - "dashboardName", - "slug" + "type", + "personal_access_token", + "repository", + "branch", + "project_sub_path" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": true }, - "ChartSummary": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_" - }, - { - "properties": { - "source": { - "$ref": "#/components/schemas/ChartSourceType" - }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" - }, - "chartType": { - "$ref": "#/components/schemas/ChartType" - } - }, - "type": "object" - } - ] + "DbtProjectType.BITBUCKET": { + "enum": ["bitbucket"], + "type": "string" }, - "Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_": { + "DbtBitBucketProjectConfig": { "properties": { - "updatedAt": { - "type": "string", - "format": "date-time" + "type": { + "$ref": "#/components/schemas/DbtProjectType.BITBUCKET" }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" + "target": { + "type": "string" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true - } - }, - "required": ["updatedAt", "pinnedListOrder"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ViewStatistics": { - "properties": { - "firstViewedAt": { - "anyOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "string" - } - ], - "nullable": true + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" }, - "views": { - "type": "number", - "format": "double" - } - }, - "required": ["firstViewedAt", "views"], - "type": "object" - }, - "SpaceQuery": { - "allOf": [ - { - "$ref": "#/components/schemas/ChartSummary" + "username": { + "type": "string" }, - { - "$ref": "#/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_" + "personal_access_token": { + "type": "string" }, - { - "$ref": "#/components/schemas/ViewStatistics" + "repository": { + "type": "string" }, - { - "properties": { - "validationErrors": { - "items": { - "$ref": "#/components/schemas/ValidationSummary" - }, - "type": "array" - } - }, - "type": "object" - } - ] - }, - "ApiChartListResponse": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/SpaceQuery" - }, - "type": "array" + "branch": { + "type": "string" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "project_sub_path": { + "type": "string" + }, + "host_domain": { + "type": "string" } }, - "required": ["results", "status"], - "type": "object" + "required": [ + "type", + "username", + "personal_access_token", + "repository", + "branch", + "project_sub_path" + ], + "type": "object", + "additionalProperties": true }, - "ApiChartSummaryListResponse": { + "DbtProjectType.GITLAB": { + "enum": ["gitlab"], + "type": "string" + }, + "DbtGitlabProjectConfig": { "properties": { - "results": { + "type": { + "$ref": "#/components/schemas/DbtProjectType.GITLAB" + }, + "target": { + "type": "string" + }, + "environment": { "items": { - "$ref": "#/components/schemas/ChartSummary" + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" }, "type": "array" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_": { - "properties": { - "name": { + "personal_access_token": { "type": "string" }, - "uuid": { + "repository": { "type": "string" }, - "projectUuid": { + "branch": { "type": "string" }, - "organizationUuid": { + "project_sub_path": { "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true - }, - "slug": { + "host_domain": { "type": "string" - }, - "isPrivate": { - "type": "boolean" - }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true } }, "required": [ - "name", - "uuid", - "projectUuid", - "organizationUuid", - "pinnedListUuid", - "slug", - "isPrivate", - "pinnedListOrder" + "type", + "personal_access_token", + "repository", + "branch", + "project_sub_path" ], "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "additionalProperties": true }, - "SpaceMemberRole": { - "enum": ["viewer", "editor", "admin"], + "DbtProjectType.AZURE_DEVOPS": { + "enum": ["azure_devops"], "type": "string" }, - "SpaceShare": { + "DbtAzureDevOpsProjectConfig": { "properties": { - "inheritedFrom": { - "type": "string", - "enum": [ - "organization", - "project", - "group", - "space_group" - ] + "type": { + "$ref": "#/components/schemas/DbtProjectType.AZURE_DEVOPS" }, - "inheritedRole": { - "anyOf": [ - { - "$ref": "#/components/schemas/OrganizationMemberRole" - }, - { - "$ref": "#/components/schemas/ProjectMemberRole" - } - ] + "target": { + "type": "string" }, - "projectRole": { - "$ref": "#/components/schemas/ProjectMemberRole" + "environment": { + "items": { + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" + }, + "type": "array" }, - "hasDirectAccess": { - "type": "boolean" + "personal_access_token": { + "type": "string" }, - "role": { - "$ref": "#/components/schemas/SpaceMemberRole" + "organization": { + "type": "string" }, - "email": { + "project": { "type": "string" }, - "lastName": { + "repository": { "type": "string" }, - "firstName": { + "branch": { "type": "string" }, - "userUuid": { + "project_sub_path": { "type": "string" } }, "required": [ - "hasDirectAccess", - "role", - "email", - "lastName", - "firstName", - "userUuid" + "type", + "personal_access_token", + "organization", + "project", + "repository", + "branch", + "project_sub_path" ], - "type": "object" + "type": "object", + "additionalProperties": true }, - "SpaceSummary": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_" - }, - { - "properties": { - "dashboardCount": { - "type": "number", - "format": "double" - }, - "chartCount": { - "type": "number", - "format": "double" - }, - "access": { - "items": { - "type": "string" - }, - "type": "array" - }, - "userAccess": { - "$ref": "#/components/schemas/SpaceShare" - } - }, - "required": ["dashboardCount", "chartCount", "access"], - "type": "object" - } - ] + "DbtProjectType.NONE": { + "enum": ["none"], + "type": "string" }, - "ApiSpaceSummaryListResponse": { + "DbtNoneProjectConfig": { "properties": { - "results": { + "type": { + "$ref": "#/components/schemas/DbtProjectType.NONE" + }, + "target": { + "type": "string" + }, + "environment": { "items": { - "$ref": "#/components/schemas/SpaceSummary" + "$ref": "#/components/schemas/DbtProjectEnvironmentVariable" }, "type": "array" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "hideRefreshButton": { + "type": "boolean" } }, - "required": ["results", "status"], - "type": "object" + "required": ["type"], + "type": "object", + "additionalProperties": true }, - "ProjectMemberProfile": { + "DbtProjectConfig": { + "anyOf": [ + { + "$ref": "#/components/schemas/DbtLocalProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtCloudIDEProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtGithubProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtBitBucketProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtGitlabProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtAzureDevOpsProjectConfig" + }, + { + "$ref": "#/components/schemas/DbtNoneProjectConfig" + } + ] + }, + "WarehouseTypes.SNOWFLAKE": { + "enum": ["snowflake"], + "type": "string" + }, + "WeekDay": { + "enum": [0, 1, 2, 3, 4, 5, 6], + "type": "number" + }, + "Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "lastName": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" + }, + "warehouse": { "type": "string" }, - "firstName": { + "role": { "type": "string" }, - "email": { + "account": { "type": "string" }, - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "requireUserCredentials": { + "type": "boolean" }, - "projectUuid": { + "database": { "type": "string" }, - "userUuid": { + "schema": { "type": "string" - } - }, - "required": [ - "lastName", - "firstName", - "email", - "role", - "projectUuid", - "userUuid" - ], - "type": "object" - }, - "ApiProjectAccessListResponse": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/ProjectMemberProfile" - }, - "type": "array" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "ApiGetProjectMemberResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/ProjectMemberProfile" + "threads": { + "type": "number", + "format": "double" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "CreateProjectMember": { - "properties": { - "sendEmail": { + "clientSessionKeepAlive": { "type": "boolean" }, - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" + "queryTag": { + "type": "string" }, - "email": { + "accessUrl": { + "type": "string" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true + }, + "quotedIdentifiersIgnoreCase": { + "type": "boolean" + }, + "override": { "type": "string" } }, - "required": ["sendEmail", "role", "email"], - "type": "object" + "required": [ + "type", + "warehouse", + "account", + "database", + "schema" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "UpdateProjectMember": { - "properties": { - "role": { - "$ref": "#/components/schemas/ProjectMemberRole" - } - }, - "required": ["role"], - "type": "object" - }, - "ApiGetProjectGroupAccesses": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/ProjectGroupAccess" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_": { + "$ref": "#/components/schemas/Pick_CreateSnowflakeCredentials.Exclude_keyofCreateSnowflakeCredentials.SensitiveCredentialsFieldNames__", + "description": "Construct a type with the properties of T except for those in type K." }, - "Record_string._type-DimensionType--__": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "SnowflakeCredentials": { + "$ref": "#/components/schemas/Omit_CreateSnowflakeCredentials.SensitiveCredentialsFieldNames_" }, - "Record_string.unknown_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "WarehouseTypes.REDSHIFT": { + "enum": ["redshift"], + "type": "string" }, - "ApiSqlQueryResults": { + "Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "rows": { - "items": { - "$ref": "#/components/schemas/Record_string.unknown_" - }, - "type": "array" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.REDSHIFT" }, - "fields": { - "$ref": "#/components/schemas/Record_string._type-DimensionType--__" + "requireUserCredentials": { + "type": "boolean" + }, + "schema": { + "type": "string" + }, + "threads": { + "type": "number", + "format": "double" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true + }, + "useSshTunnel": { + "type": "boolean" + }, + "sshTunnelHost": { + "type": "string" + }, + "sshTunnelPort": { + "type": "number", + "format": "double" + }, + "sshTunnelUser": { + "type": "string" + }, + "sshTunnelPublicKey": { + "type": "string" + }, + "host": { + "type": "string" + }, + "port": { + "type": "number", + "format": "double" + }, + "dbname": { + "type": "string" + }, + "keepalivesIdle": { + "type": "number", + "format": "double" + }, + "sslmode": { + "type": "string" + }, + "ra3Node": { + "type": "boolean" } }, - "required": ["rows", "fields"], - "type": "object" - }, - "Record_string.number_": { - "properties": {}, + "required": ["type", "schema", "host", "port", "dbname"], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiCalculateTotalResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/Record_string.number_" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_": { + "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials.Exclude_keyofCreateRedshiftCredentials.SensitiveCredentialsFieldNames__", + "description": "Construct a type with the properties of T except for those in type K." }, - "DateGranularity": { - "enum": ["Day", "Week", "Month", "Quarter", "Year"], + "RedshiftCredentials": { + "$ref": "#/components/schemas/Omit_CreateRedshiftCredentials.SensitiveCredentialsFieldNames_" + }, + "WarehouseTypes.POSTGRES": { + "enum": ["postgres"], "type": "string" }, - "MetricQueryRequest": { + "Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "timezone": { - "type": "string" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.POSTGRES" }, - "metadata": { - "properties": { - "hasADateDimension": { - "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" - } - }, - "required": ["hasADateDimension"], - "type": "object" + "role": { + "type": "string" }, - "granularity": { - "$ref": "#/components/schemas/DateGranularity" + "requireUserCredentials": { + "type": "boolean" }, - "customDimensions": { - "items": { - "$ref": "#/components/schemas/CustomDimension" - }, - "type": "array" + "schema": { + "type": "string" }, - "csvLimit": { + "threads": { "type": "number", "format": "double" }, - "additionalMetrics": { - "items": { - "$ref": "#/components/schemas/AdditionalMetric" - }, - "type": "array" + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" + } + ], + "nullable": true }, - "tableCalculations": { - "items": { - "$ref": "#/components/schemas/TableCalculation" - }, - "type": "array" + "useSshTunnel": { + "type": "boolean" }, - "limit": { + "sshTunnelHost": { + "type": "string" + }, + "sshTunnelPort": { "type": "number", "format": "double" }, - "sorts": { - "items": { - "$ref": "#/components/schemas/SortField" - }, - "type": "array" + "sshTunnelUser": { + "type": "string" }, - "filters": { - "properties": { - "tableCalculations": {}, - "metrics": {}, - "dimensions": {} - }, - "type": "object" + "sshTunnelPublicKey": { + "type": "string" }, - "metrics": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" + "host": { + "type": "string" }, - "dimensions": { - "items": { - "$ref": "#/components/schemas/FieldId" - }, - "type": "array" + "port": { + "type": "number", + "format": "double" }, - "exploreName": { + "dbname": { "type": "string" - } - }, - "required": [ - "tableCalculations", - "limit", - "sorts", - "filters", - "metrics", - "dimensions", - "exploreName" - ], - "type": "object" - }, - "CalculateTotalFromQuery": { - "properties": { - "explore": { + }, + "keepalivesIdle": { + "type": "number", + "format": "double" + }, + "sslmode": { "type": "string" }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQueryRequest" + "searchPath": { + "type": "string" } }, - "required": ["explore", "metricQuery"], - "type": "object" - }, - "Record_string.DbtExposure_": { - "properties": {}, + "required": ["type", "schema", "host", "port", "dbname"], "type": "object", - "description": "Construct a type with a set of properties K of type T" + "description": "From T, pick a set of properties whose keys are in the union K" }, - "Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" - }, - "user": { - "type": "string" - } - }, - "required": ["type", "user"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_": { + "$ref": "#/components/schemas/Pick_CreatePostgresCredentials.Exclude_keyofCreatePostgresCredentials.SensitiveCredentialsFieldNames__", + "description": "Construct a type with the properties of T except for those in type K." }, - "Pick_CreateBigqueryCredentials.type_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" - } - }, - "required": ["type"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "PostgresCredentials": { + "$ref": "#/components/schemas/Omit_CreatePostgresCredentials.SensitiveCredentialsFieldNames_" }, - "Pick_CreateDatabricksCredentials.type_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" - } - }, - "required": ["type"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "WarehouseTypes.BIGQUERY": { + "enum": ["bigquery"], + "type": "string" }, - "UserWarehouseCredentials": { + "Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_" - }, - { - "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.type_" - }, + "type": { + "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" + }, + "requireUserCredentials": { + "type": "boolean" + }, + "threads": { + "type": "number", + "format": "double" + }, + "startOfWeek": { + "allOf": [ { - "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.type_" + "$ref": "#/components/schemas/WeekDay" } - ] + ], + "nullable": true }, - "updatedAt": { - "type": "string", - "format": "date-time" + "project": { + "type": "string" }, - "createdAt": { + "dataset": { + "type": "string" + }, + "timeoutSeconds": { + "type": "number", + "format": "double" + }, + "priority": { "type": "string", - "format": "date-time" + "enum": ["interactive", "batch"] }, - "name": { - "type": "string" + "retries": { + "type": "number", + "format": "double" }, - "userUuid": { + "location": { "type": "string" }, - "uuid": { + "maximumBytesBilled": { + "type": "number", + "format": "double" + }, + "executionProject": { "type": "string" } }, - "required": [ - "credentials", - "updatedAt", - "createdAt", - "name", - "userUuid", - "uuid" - ], - "type": "object" + "required": ["type", "project", "dataset"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "UpdateMetadata": { - "properties": { - "upstreamProjectUuid": { - "type": "string", - "nullable": true - } - }, - "type": "object" + "Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_": { + "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.Exclude_keyofCreateBigqueryCredentials.SensitiveCredentialsFieldNames__", + "description": "Construct a type with the properties of T except for those in type K." }, - "CacheMetadata": { - "properties": { - "cacheHit": { - "type": "boolean" - }, - "cacheUpdatedTime": { - "type": "string", - "format": "date-time" - } - }, - "required": ["cacheHit"], - "type": "object" + "BigqueryCredentials": { + "$ref": "#/components/schemas/Omit_CreateBigqueryCredentials.SensitiveCredentialsFieldNames_" }, - "Record_string.Item-or-AdditionalMetric_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + "WarehouseTypes.DATABRICKS": { + "enum": ["databricks"], + "type": "string" }, - "ApiRunQueryResponse": { + "Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "results": { - "properties": { - "fields": { - "$ref": "#/components/schemas/Record_string.Item-or-AdditionalMetric_" - }, - "rows": { - "items": {}, - "type": "array" - }, - "cacheMetadata": { - "$ref": "#/components/schemas/CacheMetadata" - }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQueryResponse" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" + }, + "requireUserCredentials": { + "type": "boolean" + }, + "database": { + "type": "string" + }, + "startOfWeek": { + "allOf": [ + { + "$ref": "#/components/schemas/WeekDay" } - }, - "required": ["rows", "cacheMetadata", "metricQuery"], - "type": "object" + ], + "nullable": true }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_LightdashUser.userUuid-or-firstName-or-lastName_": { - "properties": { - "userUuid": { + "catalog": { "type": "string" }, - "firstName": { + "serverHostName": { "type": "string" }, - "lastName": { + "httpPath": { "type": "string" } }, - "required": ["userUuid", "firstName", "lastName"], + "required": ["type", "database", "serverHostName", "httpPath"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_": { + "Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_": { + "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.Exclude_keyofCreateDatabricksCredentials.SensitiveCredentialsFieldNames__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "DatabricksCredentials": { + "$ref": "#/components/schemas/Omit_CreateDatabricksCredentials.SensitiveCredentialsFieldNames_" + }, + "WarehouseTypes.TRINO": { + "enum": ["trino"], + "type": "string" + }, + "Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__": { "properties": { - "createdAt": { - "type": "string", - "format": "date-time" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.TRINO" }, - "chartUuid": { - "type": "string" + "requireUserCredentials": { + "type": "boolean" }, - "versionUuid": { + "schema": { "type": "string" }, - "createdBy": { + "startOfWeek": { "allOf": [ { - "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + "$ref": "#/components/schemas/WeekDay" } ], "nullable": true + }, + "host": { + "type": "string" + }, + "port": { + "type": "number", + "format": "double" + }, + "dbname": { + "type": "string" + }, + "http_scheme": { + "type": "string" } }, "required": [ - "createdAt", - "chartUuid", - "versionUuid", - "createdBy" + "type", + "schema", + "host", + "port", + "dbname", + "http_scheme" ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ChartVersionSummary": { - "$ref": "#/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_" - }, - "ChartHistory": { - "properties": { - "history": { - "items": { - "$ref": "#/components/schemas/ChartVersionSummary" - }, - "type": "array" - } - }, - "required": ["history"], - "type": "object" + "Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_": { + "$ref": "#/components/schemas/Pick_CreateTrinoCredentials.Exclude_keyofCreateTrinoCredentials.SensitiveCredentialsFieldNames__", + "description": "Construct a type with the properties of T except for those in type K." }, - "ApiGetChartHistoryResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/ChartHistory" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "TrinoCredentials": { + "$ref": "#/components/schemas/Omit_CreateTrinoCredentials.SensitiveCredentialsFieldNames_" }, - "SavedChart": { - "properties": { - "slug": { - "type": "string" - }, - "access": { - "items": { - "$ref": "#/components/schemas/SpaceShare" - }, - "type": "array" + "WarehouseCredentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/SnowflakeCredentials" }, - "isPrivate": { - "type": "boolean" + { + "$ref": "#/components/schemas/RedshiftCredentials" }, - "colorPalette": { - "items": { - "type": "string" - }, - "type": "array" + { + "$ref": "#/components/schemas/PostgresCredentials" }, - "dashboardName": { - "type": "string", - "nullable": true + { + "$ref": "#/components/schemas/BigqueryCredentials" }, - "dashboardUuid": { - "type": "string", - "nullable": true + { + "$ref": "#/components/schemas/DatabricksCredentials" }, - "pinnedListOrder": { - "type": "number", - "format": "double", - "nullable": true + { + "$ref": "#/components/schemas/TrinoCredentials" + } + ] + }, + "SupportedDbtVersions": { + "enum": ["v1.4", "v1.5", "v1.6", "v1.7", "v1.8"], + "type": "string" + }, + "SemanticLayerType.DBT": { + "enum": ["DBT"], + "type": "string" + }, + "DbtSemanticLayerConnection": { + "properties": { + "token": { + "type": "string" }, - "pinnedListUuid": { - "type": "string", - "nullable": true + "domain": { + "type": "string" }, - "spaceName": { + "environmentId": { "type": "string" }, - "spaceUuid": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.DBT" + } + }, + "required": ["token", "domain", "environmentId", "type"], + "type": "object" + }, + "SemanticLayerType.CUBE": { + "enum": ["CUBE"], + "type": "string" + }, + "CubeSemanticLayerConnection": { + "properties": { + "token": { "type": "string" }, - "organizationUuid": { + "domain": { "type": "string" }, - "updatedByUser": { - "$ref": "#/components/schemas/UpdatedByUser" + "type": { + "$ref": "#/components/schemas/SemanticLayerType.CUBE" + } + }, + "required": ["token", "domain", "type"], + "type": "object" + }, + "SemanticLayerConnection": { + "anyOf": [ + { + "$ref": "#/components/schemas/DbtSemanticLayerConnection" }, - "updatedAt": { + { + "$ref": "#/components/schemas/CubeSemanticLayerConnection" + } + ] + }, + "Project": { + "properties": { + "createdByUserUuid": { "type": "string", - "format": "date-time" - }, - "tableConfig": { - "properties": { - "columnOrder": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": ["columnOrder"], - "type": "object" + "nullable": true }, - "chartConfig": { - "$ref": "#/components/schemas/ChartConfig" + "schedulerTimezone": { + "type": "string" }, - "pivotConfig": { - "properties": { - "columns": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": ["columns"], - "type": "object" + "semanticLayerConnection": { + "$ref": "#/components/schemas/SemanticLayerConnection" }, - "metricQuery": { - "$ref": "#/components/schemas/MetricQuery" + "dbtVersion": { + "$ref": "#/components/schemas/SupportedDbtVersions" }, - "tableName": { + "upstreamProjectUuid": { "type": "string" }, - "description": { + "pinnedListUuid": { "type": "string" }, + "warehouseConnection": { + "$ref": "#/components/schemas/WarehouseCredentials" + }, + "dbtConnection": { + "$ref": "#/components/schemas/DbtProjectConfig" + }, + "type": { + "$ref": "#/components/schemas/ProjectType" + }, "name": { "type": "string" }, "projectUuid": { "type": "string" }, - "uuid": { + "organizationUuid": { "type": "string" } }, "required": [ - "slug", - "access", - "isPrivate", - "colorPalette", - "dashboardName", - "dashboardUuid", - "pinnedListOrder", - "pinnedListUuid", - "spaceName", - "spaceUuid", - "organizationUuid", - "updatedAt", - "tableConfig", - "chartConfig", - "metricQuery", - "tableName", + "createdByUserUuid", + "schedulerTimezone", + "dbtVersion", + "dbtConnection", + "type", "name", "projectUuid", - "uuid" - ], - "type": "object" - }, - "ChartVersion": { - "properties": { - "chart": { - "$ref": "#/components/schemas/SavedChart" - }, - "createdBy": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" - } - ], - "nullable": true - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "versionUuid": { - "type": "string" - }, - "chartUuid": { - "type": "string" - } - }, - "required": [ - "chart", - "createdBy", - "createdAt", - "versionUuid", - "chartUuid" + "organizationUuid" ], "type": "object" }, - "ApiGetChartVersionResponse": { + "ApiProjectResponse": { "properties": { "results": { - "$ref": "#/components/schemas/ChartVersion" + "$ref": "#/components/schemas/Project" }, "status": { "type": "string", @@ -6322,494 +6231,420 @@ "required": ["results", "status"], "type": "object" }, - "ApiPromoteChartResponse": { + "Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_": { "properties": { - "results": { - "$ref": "#/components/schemas/SavedChartDAO" + "name": { + "type": "string" }, - "status": { + "description": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceName": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "pinnedListUuid": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "SchedulerFormat": { - "enum": ["csv", "image", "gsheets"], - "type": "string" + "nullable": true + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "dashboardName": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + } + }, + "required": [ + "name", + "uuid", + "spaceName", + "spaceUuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "dashboardUuid", + "dashboardName", + "slug" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "SchedulerCsvOptions": { - "properties": { - "limit": { - "anyOf": [ - { - "type": "number", - "format": "double" + "ChartSummary": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SavedChart.uuid-or-name-or-description-or-spaceName-or-spaceUuid-or-projectUuid-or-organizationUuid-or-pinnedListUuid-or-dashboardUuid-or-dashboardName-or-slug_" + }, + { + "properties": { + "source": { + "$ref": "#/components/schemas/ChartSourceType" }, - { - "type": "string", - "enum": ["table", "all"] + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "chartType": { + "$ref": "#/components/schemas/ChartType" } - ] - }, - "formatted": { - "type": "boolean" + }, + "type": "object" } - }, - "required": ["limit", "formatted"], - "type": "object" + ] }, - "SchedulerImageOptions": { + "Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_": { "properties": { - "withPdf": { - "type": "boolean" + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, - "type": "object" + "required": ["updatedAt", "pinnedListOrder"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "SchedulerGsheetsOptions": { + "ViewStatistics": { "properties": { - "url": { - "type": "string" - }, - "gdriveOrganizationName": { - "type": "string" - }, - "gdriveName": { - "type": "string" + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true }, - "gdriveId": { - "type": "string" + "views": { + "type": "number", + "format": "double" } }, - "required": [ - "url", - "gdriveOrganizationName", - "gdriveName", - "gdriveId" - ], + "required": ["firstViewedAt", "views"], "type": "object" }, - "SchedulerOptions": { - "anyOf": [ + "SpaceQuery": { + "allOf": [ { - "$ref": "#/components/schemas/SchedulerCsvOptions" + "$ref": "#/components/schemas/ChartSummary" }, { - "$ref": "#/components/schemas/SchedulerImageOptions" + "$ref": "#/components/schemas/Pick_SavedChart.updatedAt-or-updatedByUser-or-pinnedListOrder_" }, { - "$ref": "#/components/schemas/SchedulerGsheetsOptions" + "$ref": "#/components/schemas/ViewStatistics" + }, + { + "properties": { + "validationErrors": { + "items": { + "$ref": "#/components/schemas/ValidationSummary" + }, + "type": "array" + } + }, + "type": "object" } ] }, - "ThresholdOperator": { - "enum": [ - "greaterThan", - "lessThan", - "increasedBy", - "decreasedBy" - ], - "type": "string" - }, - "ThresholdOptions": { + "ApiChartListResponse": { "properties": { - "value": { - "type": "number", - "format": "double" - }, - "fieldId": { - "type": "string" + "results": { + "items": { + "$ref": "#/components/schemas/SpaceQuery" + }, + "type": "array" }, - "operator": { - "$ref": "#/components/schemas/ThresholdOperator" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["value", "fieldId", "operator"], + "required": ["results", "status"], "type": "object" }, - "NotificationFrequency": { - "enum": ["always", "once"], - "type": "string" - }, - "SchedulerBase": { + "ApiChartSummaryListResponse": { "properties": { - "notificationFrequency": { - "$ref": "#/components/schemas/NotificationFrequency" - }, - "enabled": { - "type": "boolean" - }, - "thresholds": { + "results": { "items": { - "$ref": "#/components/schemas/ThresholdOptions" + "$ref": "#/components/schemas/ChartSummary" }, "type": "array" }, - "options": { - "$ref": "#/components/schemas/SchedulerOptions" - }, - "dashboardUuid": { - "type": "string", - "nullable": true - }, - "savedChartUuid": { + "status": { "type": "string", - "nullable": true - }, - "cron": { + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_": { + "properties": { + "name": { "type": "string" }, - "format": { - "$ref": "#/components/schemas/SchedulerFormat" + "uuid": { + "type": "string" }, - "createdBy": { + "projectUuid": { "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time" + "organizationUuid": { + "type": "string" }, - "createdAt": { + "pinnedListUuid": { "type": "string", - "format": "date-time" + "nullable": true }, - "message": { + "slug": { "type": "string" }, - "name": { - "type": "string" + "isPrivate": { + "type": "boolean" }, - "schedulerUuid": { - "type": "string" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true } }, "required": [ - "enabled", - "options", - "dashboardUuid", - "savedChartUuid", - "cron", - "format", - "createdBy", - "updatedAt", - "createdAt", "name", - "schedulerUuid" + "uuid", + "projectUuid", + "organizationUuid", + "pinnedListUuid", + "slug", + "isPrivate", + "pinnedListOrder" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ChartScheduler": { - "allOf": [ - { - "$ref": "#/components/schemas/SchedulerBase" + "SpaceMemberRole": { + "enum": ["viewer", "editor", "admin"], + "type": "string" + }, + "SpaceShare": { + "properties": { + "inheritedFrom": { + "type": "string", + "enum": [ + "organization", + "project", + "group", + "space_group" + ] }, - { - "properties": { - "dashboardUuid": { - "type": "number", - "enum": [null], - "nullable": true + "inheritedRole": { + "anyOf": [ + { + "$ref": "#/components/schemas/OrganizationMemberRole" }, - "savedChartUuid": { - "type": "string" + { + "$ref": "#/components/schemas/ProjectMemberRole" } - }, - "required": ["dashboardUuid", "savedChartUuid"], - "type": "object" - } - ] - }, - "SchedulerFilterRule": { - "allOf": [ - { - "$ref": "#/components/schemas/DashboardFilterRule" + ] }, - { - "properties": { - "tileTargets": {} - }, - "type": "object" + "projectRole": { + "$ref": "#/components/schemas/ProjectMemberRole" + }, + "hasDirectAccess": { + "type": "boolean" + }, + "role": { + "$ref": "#/components/schemas/SpaceMemberRole" + }, + "email": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "userUuid": { + "type": "string" } - ] + }, + "required": [ + "hasDirectAccess", + "role", + "email", + "lastName", + "firstName", + "userUuid" + ], + "type": "object" }, - "DashboardScheduler": { + "SpaceSummary": { "allOf": [ { - "$ref": "#/components/schemas/SchedulerBase" + "$ref": "#/components/schemas/Pick_Space.organizationUuid-or-projectUuid-or-uuid-or-name-or-isPrivate-or-pinnedListUuid-or-pinnedListOrder-or-slug_" }, { "properties": { - "selectedTabs": { - "items": { - "type": "string" - }, - "type": "array" + "dashboardCount": { + "type": "number", + "format": "double" }, - "customViewportWidth": { + "chartCount": { "type": "number", "format": "double" }, - "filters": { + "access": { "items": { - "$ref": "#/components/schemas/SchedulerFilterRule" + "type": "string" }, "type": "array" }, - "dashboardUuid": { - "type": "string" - }, - "savedChartUuid": { - "type": "number", - "enum": [null], - "nullable": true + "userAccess": { + "$ref": "#/components/schemas/SpaceShare" } }, - "required": ["dashboardUuid", "savedChartUuid"], + "required": ["dashboardCount", "chartCount", "access"], "type": "object" } ] }, - "Scheduler": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChartScheduler" + "ApiSpaceSummaryListResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/SpaceSummary" + }, + "type": "array" }, - { - "$ref": "#/components/schemas/DashboardScheduler" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } - ] + }, + "required": ["results", "status"], + "type": "object" }, - "SchedulerSlackTarget": { + "ProjectMemberProfile": { "properties": { - "channel": { + "lastName": { "type": "string" }, - "schedulerUuid": { + "firstName": { "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time" + "email": { + "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time" + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" }, - "schedulerSlackTargetUuid": { + "projectUuid": { + "type": "string" + }, + "userUuid": { "type": "string" } }, "required": [ - "channel", - "schedulerUuid", - "updatedAt", - "createdAt", - "schedulerSlackTargetUuid" + "lastName", + "firstName", + "email", + "role", + "projectUuid", + "userUuid" ], "type": "object" }, - "SchedulerEmailTarget": { + "ApiProjectAccessListResponse": { "properties": { - "recipient": { - "type": "string" - }, - "schedulerUuid": { - "type": "string" - }, - "updatedAt": { - "type": "string", - "format": "date-time" + "results": { + "items": { + "$ref": "#/components/schemas/ProjectMemberProfile" + }, + "type": "array" }, - "createdAt": { + "status": { "type": "string", - "format": "date-time" - }, - "schedulerEmailTargetUuid": { - "type": "string" + "enum": ["ok"], + "nullable": false } }, - "required": [ - "recipient", - "schedulerUuid", - "updatedAt", - "createdAt", - "schedulerEmailTargetUuid" - ], + "required": ["results", "status"], "type": "object" }, - "SchedulerAndTargets": { - "allOf": [ - { - "$ref": "#/components/schemas/Scheduler" + "ApiGetProjectMemberResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/ProjectMemberProfile" }, - { - "properties": { - "targets": { - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SchedulerSlackTarget" - }, - { - "$ref": "#/components/schemas/SchedulerEmailTarget" - } - ] - }, - "type": "array" - } - }, - "required": ["targets"], - "type": "object" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } - ] - }, - "SchedulerJobStatus": { - "enum": ["scheduled", "started", "completed", "error"], - "type": "string" - }, - "Record_string.any_": { - "properties": {}, - "type": "object", - "description": "Construct a type with a set of properties K of type T" + }, + "required": ["results", "status"], + "type": "object" }, - "SchedulerLog": { + "CreateProjectMember": { "properties": { - "details": { - "$ref": "#/components/schemas/Record_string.any_" + "sendEmail": { + "type": "boolean" }, - "targetType": { - "type": "string", - "enum": ["email", "slack", "gsheets"] + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" }, - "target": { + "email": { "type": "string" - }, - "status": { - "$ref": "#/components/schemas/SchedulerJobStatus" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "scheduledTime": { - "type": "string", - "format": "date-time" - }, - "jobGroup": { - "type": "string" - }, - "jobId": { - "type": "string" - }, - "schedulerUuid": { - "type": "string" - }, - "task": { - "type": "string", - "enum": [ - "handleScheduledDelivery", - "sendEmailNotification", - "sendSlackNotification", - "uploadGsheets", - "downloadCsv", - "uploadGsheetFromQuery", - "compileProject", - "testAndCompileProject", - "validateProject", - "sqlRunner", - "sqlRunnerPivotQuery", - "semanticLayer" - ] } }, - "required": [ - "status", - "createdAt", - "scheduledTime", - "jobId", - "task" - ], + "required": ["sendEmail", "role", "email"], "type": "object" }, - "SchedulerWithLogs": { + "UpdateProjectMember": { "properties": { - "logs": { - "items": { - "$ref": "#/components/schemas/SchedulerLog" - }, - "type": "array" - }, - "dashboards": { - "items": { - "properties": { - "dashboardUuid": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": ["dashboardUuid", "name"], - "type": "object" - }, - "type": "array" - }, - "charts": { - "items": { - "properties": { - "savedChartUuid": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": ["savedChartUuid", "name"], - "type": "object" - }, - "type": "array" - }, - "users": { - "items": { - "properties": { - "userUuid": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "firstName": { - "type": "string" - } - }, - "required": ["userUuid", "lastName", "firstName"], - "type": "object" - }, - "type": "array" - }, - "schedulers": { - "items": { - "$ref": "#/components/schemas/SchedulerAndTargets" - }, - "type": "array" + "role": { + "$ref": "#/components/schemas/ProjectMemberRole" } }, - "required": [ - "logs", - "dashboards", - "charts", - "users", - "schedulers" - ], + "required": ["role"], "type": "object" }, - "ApiSchedulerLogsResponse": { + "ApiGetProjectGroupAccesses": { "properties": { "results": { - "$ref": "#/components/schemas/SchedulerWithLogs" + "items": { + "$ref": "#/components/schemas/ProjectGroupAccess" + }, + "type": "array" }, "status": { "type": "string", @@ -6820,68 +6655,40 @@ "required": ["results", "status"], "type": "object" }, - "ApiSchedulerAndTargetsResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/SchedulerAndTargets" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "Record_string._type-DimensionType--__": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "ScheduledJobs": { - "properties": { - "id": { - "type": "string" - }, - "date": { - "type": "string", - "format": "date-time" - } - }, - "required": ["id", "date"], - "type": "object" + "Record_string.unknown_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "ApiScheduledJobsResponse": { + "ApiSqlQueryResults": { "properties": { - "results": { + "rows": { "items": { - "$ref": "#/components/schemas/ScheduledJobs" + "$ref": "#/components/schemas/Record_string.unknown_" }, "type": "array" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "fields": { + "$ref": "#/components/schemas/Record_string._type-DimensionType--__" } }, - "required": ["results", "status"], + "required": ["rows", "fields"], "type": "object" }, - "ApiJobStatusResponse": { + "Record_string.number_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "ApiCalculateTotalResponse": { "properties": { "results": { - "properties": { - "details": { - "allOf": [ - { - "$ref": "#/components/schemas/Record_string.any_" - } - ], - "nullable": true - }, - "status": { - "$ref": "#/components/schemas/SchedulerJobStatus" - } - }, - "required": ["details", "status"], - "type": "object" + "$ref": "#/components/schemas/Record_string.number_" }, "status": { "type": "string", @@ -6892,165 +6699,264 @@ "required": ["results", "status"], "type": "object" }, - "ApiTestSchedulerResponse": { + "DateGranularity": { + "enum": ["Day", "Week", "Month", "Quarter", "Year"], + "type": "string" + }, + "MetricQueryRequest": { "properties": { - "results": { + "timezone": { + "type": "string" + }, + "metadata": { "properties": { - "jobId": { - "type": "string" + "hasADateDimension": { + "$ref": "#/components/schemas/Pick_CompiledDimension.label-or-name_" } }, - "required": ["jobId"], + "required": ["hasADateDimension"], "type": "object" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "ShareUrl": { - "properties": { - "host": { - "type": "string" + "granularity": { + "$ref": "#/components/schemas/DateGranularity" }, - "url": { - "type": "string" + "customDimensions": { + "items": { + "$ref": "#/components/schemas/CustomDimension" + }, + "type": "array" }, - "shareUrl": { - "type": "string" + "csvLimit": { + "type": "number", + "format": "double" }, - "organizationUuid": { - "type": "string", - "format": "uuid" + "additionalMetrics": { + "items": { + "$ref": "#/components/schemas/AdditionalMetric" + }, + "type": "array" }, - "createdByUserUuid": { - "type": "string", - "format": "uuid" + "tableCalculations": { + "items": { + "$ref": "#/components/schemas/TableCalculation" + }, + "type": "array" }, - "params": { - "type": "string" + "limit": { + "type": "number", + "format": "double" }, - "path": { - "type": "string", - "description": "The URL path of the full URL" + "sorts": { + "items": { + "$ref": "#/components/schemas/SortField" + }, + "type": "array" }, - "nanoid": { - "type": "string", - "description": "Unique shareable id" + "filters": { + "properties": { + "tableCalculations": {}, + "metrics": {}, + "dimensions": {} + }, + "type": "object" + }, + "metrics": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "dimensions": { + "items": { + "$ref": "#/components/schemas/FieldId" + }, + "type": "array" + }, + "exploreName": { + "type": "string" } }, - "required": ["params", "path", "nanoid"], - "type": "object", - "description": "A ShareUrl maps a short shareable id to a full URL\nin the Lightdash UI. This allows very long URLs\nto be represented by short ids." + "required": [ + "tableCalculations", + "limit", + "sorts", + "filters", + "metrics", + "dimensions", + "exploreName" + ], + "type": "object" }, - "ApiShareResponse": { + "CalculateTotalFromQuery": { "properties": { - "results": { - "$ref": "#/components/schemas/ShareUrl" + "explore": { + "type": "string" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "metricQuery": { + "$ref": "#/components/schemas/MetricQueryRequest" } }, - "required": ["results", "status"], + "required": ["explore", "metricQuery"], "type": "object" }, - "Pick_ShareUrl.path-or-params_": { + "Record_string.DbtExposure_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_": { "properties": { - "path": { - "type": "string", - "description": "The URL path of the full URL" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" }, - "params": { + "user": { "type": "string" } }, - "required": ["path", "params"], + "required": ["type", "user"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "CreateShareUrl": { - "$ref": "#/components/schemas/Pick_ShareUrl.path-or-params_", - "description": "Contains the detail of a full URL to generate a short URL id" + "Pick_CreateBigqueryCredentials.type_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" + } + }, + "required": ["type"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "SlackChannel": { + "Pick_CreateDatabricksCredentials.type_": { "properties": { - "name": { - "type": "string" - }, - "id": { - "type": "string" + "type": { + "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" } }, - "required": ["name", "id"], - "type": "object" + "required": ["type"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiSlackChannelsResponse": { + "UserWarehouseCredentials": { "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/SlackChannel" - }, - "type": "array" + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials-or-CreatePostgresCredentials-or-CreateSnowflakeCredentials-or-CreateTrinoCredentials.type-or-user_" + }, + { + "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.type_" + }, + { + "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.type_" + } + ] }, - "status": { + "updatedAt": { "type": "string", - "enum": ["ok"], - "nullable": false + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "name": { + "type": "string" + }, + "userUuid": { + "type": "string" + }, + "uuid": { + "type": "string" } }, - "required": ["status"], + "required": [ + "credentials", + "updatedAt", + "createdAt", + "name", + "userUuid", + "uuid" + ], "type": "object" }, - "ApiSlackCustomSettingsResponse": { + "UpdateMetadata": { "properties": { - "results": {}, - "status": { + "upstreamProjectUuid": { "type": "string", - "enum": ["ok"], - "nullable": false + "nullable": true } }, - "required": ["results", "status"], "type": "object" }, - "SlackChannelProjectMapping": { + "Partial_DbtSemanticLayerConnection_": { "properties": { - "slackChannelId": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.DBT" + }, + "environmentId": { "type": "string" }, - "projectUuid": { + "domain": { + "type": "string" + }, + "token": { "type": "string" } }, - "required": ["slackChannelId", "projectUuid"], - "type": "object" + "type": "object", + "description": "Make all properties in T optional" }, - "SlackAppCustomSettings": { + "Partial_CubeSemanticLayerConnection_": { "properties": { - "slackChannelProjectMappings": { - "items": { - "$ref": "#/components/schemas/SlackChannelProjectMapping" - }, - "type": "array" + "type": { + "$ref": "#/components/schemas/SemanticLayerType.CUBE" }, - "appProfilePhotoUrl": { - "type": "string", - "nullable": true + "domain": { + "type": "string" }, - "notificationChannel": { - "type": "string", - "nullable": true + "token": { + "type": "string" } }, - "required": ["appProfilePhotoUrl", "notificationChannel"], - "type": "object" + "type": "object", + "description": "Make all properties in T optional" + }, + "SemanticLayerConnectionUpdate": { + "anyOf": [ + { + "allOf": [ + { + "$ref": "#/components/schemas/Partial_DbtSemanticLayerConnection_" + }, + { + "properties": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.DBT" + } + }, + "required": ["type"], + "type": "object" + } + ] + }, + { + "allOf": [ + { + "$ref": "#/components/schemas/Partial_CubeSemanticLayerConnection_" + }, + { + "properties": { + "type": { + "$ref": "#/components/schemas/SemanticLayerType.CUBE" + } + }, + "required": ["type"], + "type": "object" + } + ] + } + ] }, "Pick_Dashboard.uuid-or-name-or-description-or-updatedAt-or-projectUuid-or-updatedByUser-or-organizationUuid-or-spaceUuid-or-views-or-firstViewedAt-or-pinnedListUuid-or-pinnedListOrder_": { "properties": { @@ -7138,67 +7044,113 @@ } ] }, - "SpaceDashboard": { - "$ref": "#/components/schemas/DashboardBasicDetails" + "DashboardBasicDetailsWithTileTypes": { + "allOf": [ + { + "$ref": "#/components/schemas/DashboardBasicDetails" + }, + { + "properties": { + "tileTypes": { + "items": { + "$ref": "#/components/schemas/DashboardTileTypes" + }, + "type": "array" + } + }, + "required": ["tileTypes"], + "type": "object" + } + ] }, - "SpaceGroup": { + "ApiGetDashboardsResponse": { "properties": { - "spaceRole": { - "$ref": "#/components/schemas/SpaceMemberRole" - }, - "groupName": { - "type": "string" + "results": { + "items": { + "$ref": "#/components/schemas/DashboardBasicDetailsWithTileTypes" + }, + "type": "array" }, - "groupUuid": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["spaceRole", "groupName", "groupUuid"], + "required": ["results", "status"], "type": "object" }, - "Space": { + "Dashboard": { "properties": { "slug": { "type": "string" }, - "pinnedListOrder": { - "type": "number", - "format": "double", + "access": { + "items": { + "$ref": "#/components/schemas/SpaceShare" + }, + "type": "array", "nullable": true }, - "pinnedListUuid": { - "type": "string", + "isPrivate": { + "type": "boolean", "nullable": true }, - "groupsAccess": { + "tabs": { "items": { - "$ref": "#/components/schemas/SpaceGroup" + "$ref": "#/components/schemas/DashboardTab" }, "type": "array" }, - "access": { - "items": { - "$ref": "#/components/schemas/SpaceShare" - }, - "type": "array" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true }, - "dashboards": { - "items": { - "$ref": "#/components/schemas/SpaceDashboard" - }, - "type": "array" + "pinnedListUuid": { + "type": "string", + "nullable": true }, - "projectUuid": { + "firstViewedAt": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "views": { + "type": "number", + "format": "double" + }, + "spaceName": { "type": "string" }, - "queries": { + "spaceUuid": { + "type": "string" + }, + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "tiles": { "items": { - "$ref": "#/components/schemas/SpaceQuery" + "$ref": "#/components/schemas/DashboardTile" }, "type": "array" }, - "isPrivate": { - "type": "boolean" + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "description": { + "type": "string" }, "name": { "type": "string" @@ -7206,30 +7158,43 @@ "uuid": { "type": "string" }, + "dashboardVersionId": { + "type": "number", + "format": "double" + }, + "projectUuid": { + "type": "string" + }, "organizationUuid": { "type": "string" } }, "required": [ "slug", - "pinnedListOrder", - "pinnedListUuid", - "groupsAccess", "access", - "dashboards", - "projectUuid", - "queries", "isPrivate", + "tabs", + "pinnedListOrder", + "pinnedListUuid", + "firstViewedAt", + "views", + "spaceName", + "spaceUuid", + "filters", + "tiles", + "updatedAt", "name", "uuid", + "dashboardVersionId", + "projectUuid", "organizationUuid" ], "type": "object" }, - "ApiSpaceResponse": { + "ApiCreateDashboardResponse": { "properties": { "results": { - "$ref": "#/components/schemas/Space" + "$ref": "#/components/schemas/Dashboard" }, "status": { "type": "string", @@ -7240,113 +7205,165 @@ "required": ["results", "status"], "type": "object" }, - "Pick_SpaceShare.userUuid-or-role_": { + "DuplicateDashboardParams": { "properties": { - "userUuid": { + "dashboardDesc": { "type": "string" }, - "role": { - "$ref": "#/components/schemas/SpaceMemberRole" + "dashboardName": { + "type": "string" } }, - "required": ["userUuid", "role"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["dashboardDesc", "dashboardName"], + "type": "object" }, - "CreateSpace": { + "CreateDashboardTileBase": { "properties": { - "access": { - "items": { - "$ref": "#/components/schemas/Pick_SpaceShare.userUuid-or-role_" - }, - "type": "array" + "tabUuid": { + "type": "string" }, - "isPrivate": { - "type": "boolean" + "w": { + "type": "number", + "format": "double" }, - "name": { + "h": { + "type": "number", + "format": "double" + }, + "y": { + "type": "number", + "format": "double" + }, + "x": { + "type": "number", + "format": "double" + }, + "type": { + "$ref": "#/components/schemas/DashboardTileTypes" + }, + "uuid": { "type": "string" } }, - "required": ["name"], + "required": ["w", "h", "y", "x", "type"], "type": "object" }, - "UpdateSpace": { - "properties": { - "isPrivate": { - "type": "boolean" + "CreateDashboardChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" }, - "name": { - "type": "string" + { + "$ref": "#/components/schemas/DashboardChartTileProperties" } - }, - "required": ["isPrivate", "name"], - "type": "object" + ] }, - "AddSpaceUserAccess": { - "properties": { - "spaceRole": { - "$ref": "#/components/schemas/SpaceMemberRole" + "CreateDashboardMarkdownTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" }, - "userUuid": { - "type": "string" + { + "$ref": "#/components/schemas/DashboardMarkdownTileProperties" } - }, - "required": ["spaceRole", "userUuid"], - "type": "object" + ] }, - "AddSpaceGroupAccess": { - "properties": { - "spaceRole": { - "$ref": "#/components/schemas/SpaceMemberRole" + "CreateDashboardLoomTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" }, - "groupUuid": { - "type": "string" + { + "$ref": "#/components/schemas/DashboardLoomTileProperties" } - }, - "required": ["spaceRole", "groupUuid"], - "type": "object" + ] }, - "PartitionType": { - "enum": ["DATE", "RANGE"], - "type": "string" + "CreateDashboardSqlChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" + }, + { + "$ref": "#/components/schemas/DashboardSqlChartTileProperties" + } + ] }, - "PartitionColumn": { + "CreateDashboardSemanticViewerChartTile": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateDashboardTileBase" + }, + { + "$ref": "#/components/schemas/DashboardSemanticViewerChartTileProperties" + } + ] + }, + "Pick_UpdatedByUser.userUuid_": { "properties": { - "field": { + "userUuid": { "type": "string" - }, - "partitionType": { - "$ref": "#/components/schemas/PartitionType" } }, - "required": ["field", "partitionType"], - "type": "object" + "required": ["userUuid"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "WarehouseTablesCatalog": { - "properties": {}, - "additionalProperties": { - "properties": {}, - "additionalProperties": { - "properties": {}, - "additionalProperties": { - "properties": { - "partitionColumn": { - "$ref": "#/components/schemas/PartitionColumn" + "CreateDashboard": { + "properties": { + "tabs": { + "items": { + "$ref": "#/components/schemas/DashboardTab" + }, + "type": "array" + }, + "spaceUuid": { + "type": "string" + }, + "updatedByUser": { + "$ref": "#/components/schemas/Pick_UpdatedByUser.userUuid_" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "tiles": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/CreateDashboardChartTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardMarkdownTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardLoomTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardSqlChartTile" + }, + { + "$ref": "#/components/schemas/CreateDashboardSemanticViewerChartTile" } - }, - "type": "object" + ] }, - "type": "object" + "type": "array" }, - "type": "object" + "description": { + "type": "string" + }, + "name": { + "type": "string" + } }, + "required": ["tabs", "tiles", "name"], "type": "object" }, - "ApiWarehouseTablesCatalog": { + "ApiUpdateDashboardsResponse": { "properties": { "results": { - "$ref": "#/components/schemas/WarehouseTablesCatalog" + "items": { + "$ref": "#/components/schemas/Dashboard" + }, + "type": "array" }, "status": { "type": "string", @@ -7357,17 +7374,47 @@ "required": ["results", "status"], "type": "object" }, - "WarehouseTableSchema": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/DimensionType" - }, - "type": "object" - }, - "ApiWarehouseTableFields": { + "Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_": { + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "spaceUuid": { + "type": "string" + } + }, + "required": ["name", "uuid", "spaceUuid"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "UpdateMultipleDashboards": { + "$ref": "#/components/schemas/Pick_Dashboard.uuid-or-name-or-description-or-spaceUuid_" + }, + "UpdateSchedulerSettings": { + "properties": { + "schedulerTimezone": { + "type": "string" + } + }, + "required": ["schedulerTimezone"], + "type": "object" + }, + "ApiCreateTagResponse": { "properties": { "results": { - "$ref": "#/components/schemas/WarehouseTableSchema" + "properties": { + "tagUuid": { + "type": "string" + } + }, + "required": ["tagUuid"], + "type": "object" }, "status": { "type": "string", @@ -7378,593 +7425,513 @@ "required": ["results", "status"], "type": "object" }, - "SqlRunnerBody": { + "Pick_Tag.name-or-color_": { "properties": { - "uuid": { + "name": { "type": "string" }, - "slug": { + "color": { + "type": "string" + } + }, + "required": ["name", "color"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Partial_Pick_DbTag.name-or-color__": { + "properties": { + "name": { "type": "string" }, - "limit": { - "type": "number", - "format": "double" - }, - "sql": { + "color": { "type": "string" } }, - "required": ["sql"], - "type": "object" + "type": "object", + "description": "Make all properties in T optional" }, - "VizIndexType": { - "enum": ["time", "category"], - "type": "string" + "DbTagUpdate": { + "$ref": "#/components/schemas/Partial_Pick_DbTag.name-or-color__" }, - "PivotIndexColum": { + "Pick_LightdashUser.userUuid-or-firstName-or-lastName_": { "properties": { - "type": { - "$ref": "#/components/schemas/VizIndexType" + "userUuid": { + "type": "string" }, - "reference": { + "firstName": { + "type": "string" + }, + "lastName": { "type": "string" } }, - "required": ["type", "reference"], - "type": "object" - }, - "VizAggregationOptions": { - "enum": ["sum", "count", "avg", "min", "max", "any"], - "type": "string" - }, - "SortByDirection": { - "enum": ["ASC", "DESC"], - "type": "string" + "required": ["userUuid", "firstName", "lastName"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "VizSortBy": { + "Tag": { "properties": { - "direction": { - "$ref": "#/components/schemas/SortByDirection" + "createdBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + } + ], + "nullable": true }, - "reference": { + "createdAt": { + "type": "string", + "format": "date-time" + }, + "color": { + "type": "string" + }, + "name": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "tagUuid": { "type": "string" } }, - "required": ["direction", "reference"], + "required": [ + "createdBy", + "createdAt", + "color", + "name", + "projectUuid", + "tagUuid" + ], "type": "object" }, - "ApiSqlRunnerPivotQueryPayload": { + "ApiGetTagsResponse": { "properties": { - "sortBy": { + "results": { "items": { - "$ref": "#/components/schemas/VizSortBy" + "$ref": "#/components/schemas/Tag" }, "type": "array" }, - "groupByColumns": { - "items": { - "properties": { - "reference": { - "type": "string" - } - }, - "required": ["reference"], - "type": "object" - }, - "type": "array" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_": { + "properties": { + "name": { + "type": "string" }, - "valuesColumns": { - "items": { - "properties": { - "aggregation": { - "$ref": "#/components/schemas/VizAggregationOptions" - }, - "reference": { + "description": { + "type": "string" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "slug": { + "type": "string" + }, + "tableName": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "metricQuery": { + "$ref": "#/components/schemas/MetricQuery" + }, + "chartConfig": { + "$ref": "#/components/schemas/ChartConfig" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { "type": "string" - } - }, - "required": ["aggregation", "reference"], - "type": "object" + }, + "type": "array" + } }, - "type": "array" - }, - "indexColumn": { - "$ref": "#/components/schemas/PivotIndexColum" + "required": ["columnOrder"], + "type": "object" } }, - "required": ["valuesColumns", "indexColumn"], - "type": "object" + "required": [ + "name", + "dashboardUuid", + "slug", + "tableName", + "updatedAt", + "metricQuery", + "chartConfig", + "tableConfig" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "SqlRunnerPivotQueryBody": { + "ChartAsCode": { "allOf": [ { - "$ref": "#/components/schemas/SqlRunnerBody" + "$ref": "#/components/schemas/Pick_SavedChart.name-or-description-or-tableName-or-metricQuery-or-chartConfig-or-tableConfig-or-slug-or-dashboardUuid-or-updatedAt_" }, { - "$ref": "#/components/schemas/ApiSqlRunnerPivotQueryPayload" - } - ] - }, - "VizBaseConfig": { - "properties": { - "type": { - "$ref": "#/components/schemas/ChartKind" - }, - "metadata": { "properties": { + "downloadedAt": { + "type": "string", + "format": "date-time" + }, + "spaceSlug": { + "type": "string" + }, "version": { "type": "number", "format": "double" } }, - "required": ["version"], + "required": ["spaceSlug", "version"], "type": "object" } - }, - "required": ["type", "metadata"], - "type": "object" - }, - "ChartKind.VERTICAL_BAR": { - "enum": ["vertical_bar"], - "type": "string" - }, - "ChartKind.LINE": { - "enum": ["line"], - "type": "string" + ] }, - "VizChartLayout": { + "ApiChartAsCodeListResponse": { "properties": { - "sortBy": { + "results": { "items": { - "$ref": "#/components/schemas/VizSortBy" + "$ref": "#/components/schemas/ChartAsCode" }, "type": "array" }, - "groupBy": { - "items": { - "properties": { - "reference": { - "type": "string" - } - }, - "required": ["reference"], - "type": "object" - }, - "type": "array" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_": { + "properties": { + "name": { + "type": "string" }, - "y": { + "description": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "filters": { + "$ref": "#/components/schemas/DashboardFilters" + }, + "tabs": { "items": { - "properties": { - "aggregation": { - "$ref": "#/components/schemas/VizAggregationOptions" - }, - "reference": { - "type": "string" - } - }, - "required": ["reference"], - "type": "object" + "$ref": "#/components/schemas/DashboardTab" }, "type": "array" - }, - "x": { - "properties": { - "type": { - "$ref": "#/components/schemas/VizIndexType" - }, - "reference": { - "type": "string" - } - }, - "required": ["type", "reference"], - "type": "object" } }, - "required": ["y"], - "type": "object" + "required": ["name", "slug", "updatedAt", "filters", "tabs"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "CartesianChartDisplay": { + "Pick_DashboardTile.Exclude_keyofDashboardTile.properties__": { "properties": { - "stack": { - "type": "boolean" + "type": { + "$ref": "#/components/schemas/DashboardTileTypes" }, - "legend": { - "properties": { - "align": { - "type": "string", - "enum": ["start", "center", "end"] - }, - "position": { - "type": "string", - "enum": ["top", "bottom", "left", "right"] - } - }, - "required": ["align", "position"], - "type": "object" + "uuid": { + "type": "string" }, - "series": { - "properties": {}, - "additionalProperties": { - "properties": { - "type": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChartKind.LINE" - }, - { - "$ref": "#/components/schemas/ChartKind.VERTICAL_BAR" - } - ] - }, - "color": { - "type": "string" - }, - "yAxisIndex": { - "type": "number", - "format": "double" - }, - "format": { - "$ref": "#/components/schemas/Format" - }, - "label": { - "type": "string" - } - }, - "type": "object" - }, - "type": "object" + "x": { + "type": "number", + "format": "double" }, - "yAxis": { - "items": { - "properties": { - "format": { - "$ref": "#/components/schemas/Format" - }, - "position": { - "type": "string" - }, - "label": { - "type": "string" - } - }, - "type": "object" - }, - "type": "array" + "y": { + "type": "number", + "format": "double" }, - "xAxis": { - "properties": { - "type": { - "$ref": "#/components/schemas/VizIndexType" - }, - "label": { - "type": "string" - } - }, - "type": "object" + "h": { + "type": "number", + "format": "double" + }, + "w": { + "type": "number", + "format": "double" + }, + "tabUuid": { + "type": "string" } }, - "type": "object" + "required": ["type", "x", "y", "h", "w"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "VizCartesianChartConfig": { + "Omit_DashboardTile.properties_": { + "$ref": "#/components/schemas/Pick_DashboardTile.Exclude_keyofDashboardTile.properties__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__": { + "properties": { + "title": { + "type": "string" + } + }, + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_DashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid_": { + "$ref": "#/components/schemas/Pick_DashboardTile-at-properties.Exclude_keyofDashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "DashboardTileWithoutUuids": { "allOf": [ { - "$ref": "#/components/schemas/VizBaseConfig" + "$ref": "#/components/schemas/Omit_DashboardTile.properties_" }, { "properties": { - "display": { - "$ref": "#/components/schemas/CartesianChartDisplay" - }, - "fieldConfig": { - "$ref": "#/components/schemas/VizChartLayout" - }, - "type": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChartKind.VERTICAL_BAR" - }, - { - "$ref": "#/components/schemas/ChartKind.LINE" - } - ] + "properties": { + "$ref": "#/components/schemas/Omit_DashboardTile-at-properties.savedChartUuid-or-savedSqlUuid-or-savedSemanticViewerChartUuid_" } }, - "required": ["type"], + "required": ["properties"], "type": "object" } ] }, - "ChartKind.PIE": { - "enum": ["pie"], - "type": "string" - }, - "VizPieChartDisplay": { - "properties": { - "isDonut": { - "type": "boolean" - } - }, - "type": "object" - }, - "VizPieChartConfig": { + "DashboardAsCode": { "allOf": [ { - "$ref": "#/components/schemas/VizBaseConfig" + "$ref": "#/components/schemas/Pick_Dashboard.name-or-description-or-updatedAt-or-filters-or-tabs-or-slug_" }, { "properties": { - "display": { - "$ref": "#/components/schemas/VizPieChartDisplay" + "downloadedAt": { + "type": "string", + "format": "date-time" }, - "fieldConfig": { - "$ref": "#/components/schemas/VizChartLayout" + "spaceSlug": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/ChartKind.PIE" + "version": { + "type": "number", + "format": "double" + }, + "tiles": { + "items": { + "$ref": "#/components/schemas/DashboardTileWithoutUuids" + }, + "type": "array" } }, - "required": ["type"], + "required": ["spaceSlug", "version", "tiles"], "type": "object" } ] }, - "ChartKind.TABLE": { - "enum": ["table"], - "type": "string" - }, - "VizColumnConfig": { + "ApiDashboardAsCodeListResponse": { "properties": { - "aggregation": { - "$ref": "#/components/schemas/VizAggregationOptions" - }, - "order": { - "type": "number", - "format": "double" - }, - "frozen": { - "type": "boolean" - }, - "label": { - "type": "string" - }, - "reference": { - "type": "string" + "results": { + "items": { + "$ref": "#/components/schemas/DashboardAsCode" + }, + "type": "array" }, - "visible": { - "type": "boolean" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["frozen", "label", "reference", "visible"], + "required": ["results", "status"], "type": "object" }, - "VizColumnsConfig": { - "properties": {}, - "additionalProperties": { - "$ref": "#/components/schemas/VizColumnConfig" + "ApiChartAsCodeUpsertResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/PromotionChanges" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } }, + "required": ["results", "status"], "type": "object" }, - "VizTableConfig": { - "allOf": [ - { - "$ref": "#/components/schemas/VizBaseConfig" + "Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__": { + "properties": { + "name": { + "type": "string" }, - { - "properties": { - "columns": { - "$ref": "#/components/schemas/VizColumnsConfig" - }, - "type": { - "$ref": "#/components/schemas/ChartKind.TABLE" - } - }, - "required": ["columns", "type"], - "type": "object" - } - ] - }, - "Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_": { - "properties": { - "name": { + "description": { "type": "string" }, - "uuid": { - "type": "string" + "dashboardUuid": { + "type": "string", + "nullable": true }, - "isPrivate": { - "type": "boolean" + "slug": { + "type": "string" }, - "userAccess": { - "$ref": "#/components/schemas/SpaceShare" - } - }, - "required": ["name", "uuid", "isPrivate"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_Dashboard.uuid-or-name_": { - "properties": { - "name": { + "tableName": { "type": "string" }, - "uuid": { + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "tableConfig": { + "properties": { + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": ["columnOrder"], + "type": "object" + }, + "version": { + "type": "number", + "format": "double" + }, + "spaceSlug": { "type": "string" + }, + "downloadedAt": { + "type": "string", + "format": "date-time" } }, - "required": ["name", "uuid"], + "required": [ + "name", + "dashboardUuid", + "slug", + "tableName", + "updatedAt", + "tableConfig", + "version", + "spaceSlug" + ], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Pick_Project.projectUuid_": { - "properties": { - "projectUuid": { - "type": "string" - } - }, - "required": ["projectUuid"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "Omit_ChartAsCode.metricQuery-or-chartConfig_": { + "$ref": "#/components/schemas/Pick_ChartAsCode.Exclude_keyofChartAsCode.metricQuery-or-chartConfig__", + "description": "Construct a type with the properties of T except for those in type K." }, - "Pick_Organization.organizationUuid_": { + "ApiDashboardAsCodeUpsertResponse": { "properties": { - "organizationUuid": { + "results": { + "$ref": "#/components/schemas/PromotionChanges" + }, + "status": { "type": "string", - "description": "The unique identifier of the organization", - "format": "uuid" + "enum": ["ok"], + "nullable": false } }, - "required": ["organizationUuid"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["results", "status"], + "type": "object" }, - "SqlChart": { + "Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__": { "properties": { - "lastViewedAt": { - "type": "string", - "format": "date-time" - }, - "firstViewedAt": { - "type": "string", - "format": "date-time" - }, - "views": { - "type": "number", - "format": "double" - }, - "organization": { - "$ref": "#/components/schemas/Pick_Organization.organizationUuid_" - }, - "project": { - "$ref": "#/components/schemas/Pick_Project.projectUuid_" - }, - "dashboard": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_Dashboard.uuid-or-name_" - } - ], - "nullable": true - }, - "space": { - "$ref": "#/components/schemas/Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_" - }, - "lastUpdatedBy": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" - } - ], - "nullable": true - }, - "lastUpdatedAt": { - "type": "string", - "format": "date-time" + "name": { + "type": "string" }, - "createdBy": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" - } - ], - "nullable": true + "slug": { + "type": "string" }, - "createdAt": { + "updatedAt": { "type": "string", "format": "date-time" }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" - }, - "config": { - "allOf": [ - { - "$ref": "#/components/schemas/VizBaseConfig" - }, - { - "anyOf": [ - { - "$ref": "#/components/schemas/VizCartesianChartConfig" - }, - { - "$ref": "#/components/schemas/VizPieChartConfig" - }, - { - "$ref": "#/components/schemas/VizTableConfig" - } - ] - } - ] + "tabs": { + "items": { + "$ref": "#/components/schemas/DashboardTab" + }, + "type": "array" }, - "limit": { + "version": { "type": "number", "format": "double" }, - "sql": { - "type": "string" - }, - "slug": { + "spaceSlug": { "type": "string" }, - "description": { + "downloadedAt": { "type": "string", - "nullable": true - }, - "name": { - "type": "string" - }, - "savedSqlUuid": { - "type": "string" + "format": "date-time" } }, "required": [ - "lastViewedAt", - "firstViewedAt", - "views", - "organization", - "project", - "dashboard", - "space", - "lastUpdatedBy", - "lastUpdatedAt", - "createdBy", - "createdAt", - "chartKind", - "config", - "limit", - "sql", - "slug", - "description", "name", - "savedSqlUuid" + "slug", + "updatedAt", + "tabs", + "version", + "spaceSlug" ], - "type": "object" + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiSqlChart": { + "Omit_DashboardAsCode.filters-or-tiles-or-description_": { + "$ref": "#/components/schemas/Pick_DashboardAsCode.Exclude_keyofDashboardAsCode.filters-or-tiles-or-description__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "CacheMetadata": { "properties": { - "results": { - "$ref": "#/components/schemas/SqlChart" + "cacheHit": { + "type": "boolean" }, - "status": { + "cacheUpdatedTime": { "type": "string", - "enum": ["ok"], - "nullable": false + "format": "date-time" } }, - "required": ["results", "status"], + "required": ["cacheHit"], "type": "object" }, - "ApiCreateSqlChart": { + "Record_string.Item-or-AdditionalMetric_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" + }, + "ApiRunQueryResponse": { "properties": { "results": { "properties": { - "slug": { - "type": "string" + "fields": { + "$ref": "#/components/schemas/Record_string.Item-or-AdditionalMetric_" }, - "savedSqlUuid": { - "type": "string" + "rows": { + "items": {}, + "type": "array" + }, + "cacheMetadata": { + "$ref": "#/components/schemas/CacheMetadata" + }, + "metricQuery": { + "$ref": "#/components/schemas/MetricQueryResponse" } }, - "required": ["slug", "savedSqlUuid"], + "required": ["rows", "cacheMetadata", "metricQuery"], "type": "object" }, "status": { @@ -7976,234 +7943,55 @@ "required": ["results", "status"], "type": "object" }, - "VizBarChartConfig": { - "allOf": [ - { - "$ref": "#/components/schemas/VizBaseConfig" + "Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_": { + "properties": { + "createdAt": { + "type": "string", + "format": "date-time" }, - { - "properties": { - "display": { - "$ref": "#/components/schemas/CartesianChartDisplay" - }, - "fieldConfig": { - "$ref": "#/components/schemas/VizChartLayout" - }, - "type": { - "$ref": "#/components/schemas/ChartKind.VERTICAL_BAR" - } - }, - "required": ["type"], - "type": "object" - } - ] - }, - "VizLineChartConfig": { - "allOf": [ - { - "$ref": "#/components/schemas/VizBaseConfig" - }, - { - "properties": { - "display": { - "$ref": "#/components/schemas/CartesianChartDisplay" - }, - "fieldConfig": { - "$ref": "#/components/schemas/VizChartLayout" - }, - "type": { - "$ref": "#/components/schemas/ChartKind.LINE" - } - }, - "required": ["type"], - "type": "object" - } - ] - }, - "VizChartConfig": { - "anyOf": [ - { - "$ref": "#/components/schemas/VizBarChartConfig" - }, - { - "$ref": "#/components/schemas/VizLineChartConfig" - }, - { - "$ref": "#/components/schemas/VizPieChartConfig" - }, - { - "$ref": "#/components/schemas/VizTableConfig" - } - ] - }, - "CreateSqlChart": { - "properties": { - "spaceUuid": { + "chartUuid": { "type": "string" }, - "config": { - "$ref": "#/components/schemas/VizChartConfig" - }, - "limit": { - "type": "number", - "format": "double" - }, - "sql": { + "versionUuid": { "type": "string" }, - "description": { - "type": "string", + "createdBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + } + ], "nullable": true - }, - "name": { - "type": "string" } }, "required": [ - "spaceUuid", - "config", - "limit", - "sql", - "description", - "name" + "createdAt", + "chartUuid", + "versionUuid", + "createdBy" ], - "type": "object" - }, - "ApiUpdateSqlChart": { - "properties": { - "results": { - "properties": { - "savedSqlVersionUuid": { - "type": "string", - "nullable": true - }, - "savedSqlUuid": { - "type": "string" - } - }, - "required": ["savedSqlVersionUuid", "savedSqlUuid"], - "type": "object" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "UpdateUnversionedSqlChart": { - "properties": { - "spaceUuid": { - "type": "string" - }, - "description": { - "type": "string", - "nullable": true - }, - "name": { - "type": "string" - } - }, - "required": ["spaceUuid", "description", "name"], - "type": "object" - }, - "UpdateVersionedSqlChart": { - "properties": { - "config": { - "$ref": "#/components/schemas/VizChartConfig" - }, - "limit": { - "type": "number", - "format": "double" - }, - "sql": { - "type": "string" - } - }, - "required": ["config", "limit", "sql"], - "type": "object" - }, - "UpdateSqlChart": { - "properties": { - "versionedData": { - "$ref": "#/components/schemas/UpdateVersionedSqlChart" - }, - "unversionedData": { - "$ref": "#/components/schemas/UpdateUnversionedSqlChart" - } - }, - "type": "object" - }, - "Pick_Explore.name_": { - "properties": { - "name": { - "type": "string" - } - }, - "required": ["name"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "ApiCreateCustomExplore": { - "properties": { - "results": { - "$ref": "#/components/schemas/Pick_Explore.name_" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "VizColumn": { - "properties": { - "type": { - "$ref": "#/components/schemas/DimensionType" - }, - "reference": { - "type": "string" - } - }, - "required": ["reference"], - "type": "object" + "ChartVersionSummary": { + "$ref": "#/components/schemas/Pick_ChartVersion.chartUuid-or-versionUuid-or-createdAt-or-createdBy_" }, - "CreateCustomExplorePayload": { + "ChartHistory": { "properties": { - "columns": { + "history": { "items": { - "$ref": "#/components/schemas/VizColumn" + "$ref": "#/components/schemas/ChartVersionSummary" }, "type": "array" - }, - "sql": { - "type": "string" - }, - "name": { - "type": "string" } }, - "required": ["columns", "sql", "name"], + "required": ["history"], "type": "object" }, - "Pick_SshKeyPair.publicKey_": { - "properties": { - "publicKey": { - "type": "string" - } - }, - "required": ["publicKey"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "ApiSshKeyPairResponse": { + "ApiGetChartHistoryResponse": { "properties": { "results": { - "$ref": "#/components/schemas/Pick_SshKeyPair.publicKey_" + "$ref": "#/components/schemas/ChartHistory" }, "status": { "type": "string", @@ -8214,231 +8002,165 @@ "required": ["results", "status"], "type": "object" }, - "UserAttributeValue": { - "properties": { - "value": { - "type": "string" - }, - "email": { - "type": "string" - }, - "userUuid": { - "type": "string" - } - }, - "required": ["value", "email", "userUuid"], - "type": "object" - }, - "GroupAttributeValue": { + "SavedChart": { "properties": { - "value": { - "type": "string" - }, - "groupUuid": { + "slug": { "type": "string" - } - }, - "required": ["value", "groupUuid"], - "type": "object" - }, - "UserAttribute": { - "properties": { - "attributeDefault": { - "type": "string", - "nullable": true }, - "groups": { + "access": { "items": { - "$ref": "#/components/schemas/GroupAttributeValue" + "$ref": "#/components/schemas/SpaceShare" }, "type": "array" }, - "users": { + "isPrivate": { + "type": "boolean" + }, + "colorPalette": { "items": { - "$ref": "#/components/schemas/UserAttributeValue" + "type": "string" }, "type": "array" }, - "description": { - "type": "string" - }, - "organizationUuid": { - "type": "string" - }, - "name": { - "type": "string" + "dashboardName": { + "type": "string", + "nullable": true }, - "createdAt": { + "dashboardUuid": { "type": "string", - "format": "date-time" + "nullable": true }, - "uuid": { - "type": "string" - } - }, - "required": [ - "attributeDefault", - "groups", - "users", - "organizationUuid", - "name", - "createdAt", - "uuid" - ], - "type": "object" - }, - "ApiUserAttributesResponse": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/UserAttribute" - }, - "type": "array" + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true }, - "status": { + "pinnedListUuid": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "ApiCreateUserAttributeResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/UserAttribute" + "nullable": true }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_UserAttribute.name-or-description-or-attributeDefault_": { - "properties": { - "name": { + "spaceName": { "type": "string" }, - "description": { + "spaceUuid": { "type": "string" }, - "attributeDefault": { - "type": "string", - "nullable": true - } - }, - "required": ["name", "attributeDefault"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__": { - "properties": { - "userUuid": { + "organizationUuid": { "type": "string" }, - "value": { - "type": "string" - } - }, - "required": ["userUuid", "value"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_UserAttributeValue.email_": { - "$ref": "#/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__", - "description": "Construct a type with the properties of T except for those in type K." - }, - "CreateUserAttributeValue": { - "$ref": "#/components/schemas/Omit_UserAttributeValue.email_" - }, - "CreateGroupAttributeValue": { - "$ref": "#/components/schemas/GroupAttributeValue" - }, - "CreateUserAttribute": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_" + "updatedByUser": { + "$ref": "#/components/schemas/UpdatedByUser" }, - { + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "tableConfig": { "properties": { - "groups": { + "columnOrder": { "items": { - "$ref": "#/components/schemas/CreateGroupAttributeValue" + "type": "string" }, "type": "array" - }, - "users": { + } + }, + "required": ["columnOrder"], + "type": "object" + }, + "chartConfig": { + "$ref": "#/components/schemas/ChartConfig" + }, + "pivotConfig": { + "properties": { + "columns": { "items": { - "$ref": "#/components/schemas/CreateUserAttributeValue" + "type": "string" }, "type": "array" } }, - "required": ["groups", "users"], + "required": ["columns"], "type": "object" - } - ] - }, - "LightdashUser": { - "properties": { - "userUuid": { - "type": "string" }, - "email": { + "metricQuery": { + "$ref": "#/components/schemas/MetricQuery" + }, + "tableName": { "type": "string" }, - "firstName": { + "description": { "type": "string" }, - "lastName": { + "name": { "type": "string" }, - "organizationUuid": { + "projectUuid": { "type": "string" }, - "organizationName": { + "uuid": { "type": "string" + } + }, + "required": [ + "slug", + "access", + "isPrivate", + "colorPalette", + "dashboardName", + "dashboardUuid", + "pinnedListOrder", + "pinnedListUuid", + "spaceName", + "spaceUuid", + "organizationUuid", + "updatedAt", + "tableConfig", + "chartConfig", + "metricQuery", + "tableName", + "name", + "projectUuid", + "uuid" + ], + "type": "object" + }, + "ChartVersion": { + "properties": { + "chart": { + "$ref": "#/components/schemas/SavedChart" }, - "organizationCreatedAt": { + "createdBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + } + ], + "nullable": true + }, + "createdAt": { "type": "string", "format": "date-time" }, - "isTrackingAnonymized": { - "type": "boolean" - }, - "isMarketingOptedIn": { - "type": "boolean" - }, - "isSetupComplete": { - "type": "boolean" - }, - "role": { - "$ref": "#/components/schemas/OrganizationMemberRole" + "versionUuid": { + "type": "string" }, - "isActive": { - "type": "boolean" + "chartUuid": { + "type": "string" } }, "required": [ - "userUuid", - "firstName", - "lastName", - "isTrackingAnonymized", - "isMarketingOptedIn", - "isSetupComplete", - "isActive" + "chart", + "createdBy", + "createdAt", + "versionUuid", + "chartUuid" ], - "type": "object", - "additionalProperties": true + "type": "object" }, - "ApiGetAuthenticatedUserResponse": { + "ApiGetChartVersionResponse": { "properties": { "results": { - "$ref": "#/components/schemas/LightdashUser" + "$ref": "#/components/schemas/ChartVersion" }, "status": { "type": "string", @@ -8447,13 +8169,12 @@ } }, "required": ["results", "status"], - "type": "object", - "description": "Shows the authenticated user" + "type": "object" }, - "ApiRegisterUserResponse": { + "ApiPromoteChartResponse": { "properties": { "results": { - "$ref": "#/components/schemas/LightdashUser" + "$ref": "#/components/schemas/SavedChartDAO" }, "status": { "type": "string", @@ -8464,707 +8185,630 @@ "required": ["results", "status"], "type": "object" }, - "ActivateUser": { + "SchedulerFormat": { + "enum": ["csv", "image", "gsheets"], + "type": "string" + }, + "SchedulerCsvOptions": { "properties": { - "password": { - "type": "string" - }, - "lastName": { - "type": "string" + "limit": { + "anyOf": [ + { + "type": "number", + "format": "double" + }, + { + "type": "string", + "enum": ["table", "all"] + } + ] }, - "firstName": { - "type": "string" + "formatted": { + "type": "boolean" } }, - "required": ["password", "lastName", "firstName"], + "required": ["limit", "formatted"], "type": "object" }, - "ActivateUserWithInviteCode": { - "allOf": [ - { - "$ref": "#/components/schemas/ActivateUser" - }, - { - "properties": { - "inviteCode": { - "type": "string" - } - }, - "required": ["inviteCode"], - "type": "object" + "SchedulerImageOptions": { + "properties": { + "withPdf": { + "type": "boolean" } - ] - }, - "Email": { - "type": "string", - "description": "Email", - "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$" + }, + "type": "object" }, - "CreateUserArgs": { + "SchedulerGsheetsOptions": { "properties": { - "password": { + "url": { "type": "string" }, - "email": { - "$ref": "#/components/schemas/Email" + "gdriveOrganizationName": { + "type": "string" }, - "lastName": { + "gdriveName": { "type": "string" }, - "firstName": { + "gdriveId": { "type": "string" } }, - "required": ["password", "email", "lastName", "firstName"], + "required": [ + "url", + "gdriveOrganizationName", + "gdriveName", + "gdriveId" + ], "type": "object" }, - "RegisterOrActivateUser": { + "SchedulerOptions": { "anyOf": [ { - "$ref": "#/components/schemas/ActivateUserWithInviteCode" + "$ref": "#/components/schemas/SchedulerCsvOptions" }, { - "$ref": "#/components/schemas/CreateUserArgs" + "$ref": "#/components/schemas/SchedulerImageOptions" + }, + { + "$ref": "#/components/schemas/SchedulerGsheetsOptions" } ] }, - "EmailOneTimePassword": { + "ThresholdOperator": { + "enum": [ + "greaterThan", + "lessThan", + "increasedBy", + "decreasedBy" + ], + "type": "string" + }, + "ThresholdOptions": { "properties": { - "numberOfAttempts": { + "value": { "type": "number", - "format": "double", - "description": "Number of times the passcode has been attempted" + "format": "double" }, - "createdAt": { - "type": "string", - "format": "date-time", - "description": "Time that the passcode was created" + "fieldId": { + "type": "string" + }, + "operator": { + "$ref": "#/components/schemas/ThresholdOperator" } }, - "required": ["numberOfAttempts", "createdAt"], + "required": ["value", "fieldId", "operator"], "type": "object" }, - "EmailStatus": { + "NotificationFrequency": { + "enum": ["always", "once"], + "type": "string" + }, + "SchedulerBase": { "properties": { - "otp": { - "$ref": "#/components/schemas/EmailOneTimePassword" + "includeLinks": { + "type": "boolean" }, - "isVerified": { + "notificationFrequency": { + "$ref": "#/components/schemas/NotificationFrequency" + }, + "enabled": { "type": "boolean" }, - "email": { + "thresholds": { + "items": { + "$ref": "#/components/schemas/ThresholdOptions" + }, + "type": "array" + }, + "options": { + "$ref": "#/components/schemas/SchedulerOptions" + }, + "dashboardUuid": { + "type": "string", + "nullable": true + }, + "savedChartUuid": { + "type": "string", + "nullable": true + }, + "timezone": { + "type": "string" + }, + "cron": { + "type": "string" + }, + "format": { + "$ref": "#/components/schemas/SchedulerFormat" + }, + "createdBy": { + "type": "string" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "message": { + "type": "string" + }, + "name": { + "type": "string" + }, + "schedulerUuid": { "type": "string" } }, - "required": ["isVerified", "email"], + "required": [ + "includeLinks", + "enabled", + "options", + "dashboardUuid", + "savedChartUuid", + "cron", + "format", + "createdBy", + "updatedAt", + "createdAt", + "name", + "schedulerUuid" + ], "type": "object" }, - "EmailOneTimePasswordExpiring": { + "ChartScheduler": { "allOf": [ { - "$ref": "#/components/schemas/EmailOneTimePassword" + "$ref": "#/components/schemas/SchedulerBase" }, { "properties": { - "isMaxAttempts": { - "type": "boolean" - }, - "isExpired": { - "type": "boolean" + "dashboardUuid": { + "type": "number", + "enum": [null], + "nullable": true }, - "expiresAt": { - "type": "string", - "format": "date-time" + "savedChartUuid": { + "type": "string" } }, - "required": ["isMaxAttempts", "isExpired", "expiresAt"], + "required": ["dashboardUuid", "savedChartUuid"], "type": "object" } ] }, - "EmailStatusExpiring": { + "SchedulerFilterRule": { "allOf": [ { - "$ref": "#/components/schemas/EmailStatus" + "$ref": "#/components/schemas/DashboardFilterRule" }, { "properties": { - "otp": { - "$ref": "#/components/schemas/EmailOneTimePasswordExpiring", - "description": "One time passcode information\nIf there is no active passcode, this will be undefined" + "tileTargets": {} + }, + "type": "object" + } + ] + }, + "DashboardScheduler": { + "allOf": [ + { + "$ref": "#/components/schemas/SchedulerBase" + }, + { + "properties": { + "selectedTabs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "customViewportWidth": { + "type": "number", + "format": "double" + }, + "filters": { + "items": { + "$ref": "#/components/schemas/SchedulerFilterRule" + }, + "type": "array" + }, + "dashboardUuid": { + "type": "string" + }, + "savedChartUuid": { + "type": "number", + "enum": [null], + "nullable": true } }, + "required": ["dashboardUuid", "savedChartUuid"], "type": "object" } - ], - "description": "Verification status of an email address" + ] }, - "ApiEmailStatusResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/EmailStatusExpiring" + "Scheduler": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChartScheduler" }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + { + "$ref": "#/components/schemas/DashboardScheduler" } - }, - "required": ["results", "status"], - "type": "object", - "description": "Shows the current verification status of an email address" + ] }, - "UserAllowedOrganization": { + "SchedulerSlackTarget": { "properties": { - "membersCount": { - "type": "number", - "format": "double" - }, - "name": { + "channel": { "type": "string" }, - "organizationUuid": { + "schedulerUuid": { "type": "string" - } - }, - "required": ["membersCount", "name", "organizationUuid"], - "type": "object" - }, - "ApiUserAllowedOrganizationsResponse": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/UserAllowedOrganization" - }, - "type": "array" }, - "status": { + "updatedAt": { "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" - }, - "Pick_CreateRedshiftCredentials.type-or-user-or-password_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.REDSHIFT" - }, - "user": { - "type": "string" - }, - "password": { - "type": "string" - } - }, - "required": ["type", "user", "password"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_CreatePostgresCredentials.type-or-user-or-password_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.POSTGRES" - }, - "user": { - "type": "string" - }, - "password": { - "type": "string" - } - }, - "required": ["type", "user", "password"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_CreateSnowflakeCredentials.type-or-user-or-password_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" + "format": "date-time" }, - "user": { - "type": "string" + "createdAt": { + "type": "string", + "format": "date-time" }, - "password": { + "schedulerSlackTargetUuid": { "type": "string" } }, - "required": ["type", "user"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": [ + "channel", + "schedulerUuid", + "updatedAt", + "createdAt", + "schedulerSlackTargetUuid" + ], + "type": "object" }, - "Pick_CreateTrinoCredentials.type-or-user-or-password_": { + "SchedulerEmailTarget": { "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.TRINO" - }, - "user": { + "recipient": { "type": "string" }, - "password": { + "schedulerUuid": { "type": "string" - } - }, - "required": ["type", "user", "password"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_CreateBigqueryCredentials.type-or-keyfileContents_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" }, - "keyfileContents": { - "$ref": "#/components/schemas/Record_string.string_" - } - }, - "required": ["type", "keyfileContents"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Pick_CreateDatabricksCredentials.type-or-personalAccessToken_": { - "properties": { - "type": { - "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" + "updatedAt": { + "type": "string", + "format": "date-time" }, - "personalAccessToken": { - "type": "string" - } - }, - "required": ["type", "personalAccessToken"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "UpsertUserWarehouseCredentials": { - "properties": { - "credentials": { - "anyOf": [ - { - "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials.type-or-user-or-password_" - }, - { - "$ref": "#/components/schemas/Pick_CreatePostgresCredentials.type-or-user-or-password_" - }, - { - "$ref": "#/components/schemas/Pick_CreateSnowflakeCredentials.type-or-user-or-password_" - }, - { - "$ref": "#/components/schemas/Pick_CreateTrinoCredentials.type-or-user-or-password_" - }, - { - "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.type-or-keyfileContents_" - }, - { - "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.type-or-personalAccessToken_" - } - ] + "createdAt": { + "type": "string", + "format": "date-time" }, - "name": { + "schedulerEmailTargetUuid": { "type": "string" } }, - "required": ["credentials", "name"], + "required": [ + "recipient", + "schedulerUuid", + "updatedAt", + "createdAt", + "schedulerEmailTargetUuid" + ], "type": "object" }, - "OpenIdIdentityIssuerType": { - "enum": ["google", "okta", "oneLogin", "azuread", "oidc"], - "type": "string" - }, - "LocalIssuerTypes": { - "enum": ["email", "apiToken"], - "type": "string" - }, - "LoginOptionTypes": { - "anyOf": [ + "SchedulerAndTargets": { + "allOf": [ { - "$ref": "#/components/schemas/OpenIdIdentityIssuerType" + "$ref": "#/components/schemas/Scheduler" }, { - "$ref": "#/components/schemas/LocalIssuerTypes" - } - ] - }, - "LoginOptions": { - "properties": { - "redirectUri": { - "type": "string" - }, - "forceRedirect": { - "type": "boolean" - }, - "showOptions": { - "items": { - "$ref": "#/components/schemas/LoginOptionTypes" + "properties": { + "targets": { + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SchedulerSlackTarget" + }, + { + "$ref": "#/components/schemas/SchedulerEmailTarget" + } + ] + }, + "type": "array" + } }, - "type": "array" - } - }, - "required": ["showOptions"], - "type": "object" - }, - "ApiGetLoginOptionsResponse": { - "properties": { - "results": { - "$ref": "#/components/schemas/LoginOptions" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false + "required": ["targets"], + "type": "object" } - }, - "required": ["results", "status"], - "type": "object" + ] }, - "ContentType.CHART": { - "enum": ["chart"], + "SchedulerJobStatus": { + "enum": ["scheduled", "started", "completed", "error"], "type": "string" }, - "ContentType": { - "enum": ["chart", "dashboard"], - "type": "string" + "Record_string.any_": { + "properties": {}, + "type": "object", + "description": "Construct a type with a set of properties K of type T" }, - "ChartContent": { + "SchedulerLog": { "properties": { - "contentType": { - "$ref": "#/components/schemas/ContentType.CHART" + "details": { + "$ref": "#/components/schemas/Record_string.any_" }, - "uuid": { - "type": "string" + "targetType": { + "type": "string", + "enum": ["email", "slack", "gsheets"] }, - "slug": { + "target": { "type": "string" }, - "name": { - "type": "string" + "status": { + "$ref": "#/components/schemas/SchedulerJobStatus" }, - "description": { + "createdAt": { "type": "string", - "nullable": true + "format": "date-time" }, - "createdAt": { + "scheduledTime": { "type": "string", "format": "date-time" }, - "createdBy": { - "properties": { - "lastName": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "uuid": { - "type": "string" - } - }, - "required": ["lastName", "firstName", "uuid"], - "type": "object", - "nullable": true + "jobGroup": { + "type": "string" }, - "lastUpdatedAt": { - "type": "string", - "format": "date-time", - "nullable": true + "jobId": { + "type": "string" }, - "lastUpdatedBy": { - "properties": { - "lastName": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "uuid": { - "type": "string" - } - }, - "required": ["lastName", "firstName", "uuid"], - "type": "object", - "nullable": true + "schedulerUuid": { + "type": "string" }, - "project": { - "properties": { - "name": { - "type": "string" - }, - "uuid": { - "type": "string" - } + "task": { + "type": "string", + "enum": [ + "handleScheduledDelivery", + "sendEmailNotification", + "sendSlackNotification", + "uploadGsheets", + "downloadCsv", + "uploadGsheetFromQuery", + "createProjectWithCompile", + "compileProject", + "testAndCompileProject", + "validateProject", + "sqlRunner", + "sqlRunnerPivotQuery", + "semanticLayer", + "indexCatalog" + ] + } + }, + "required": [ + "status", + "createdAt", + "scheduledTime", + "jobId", + "task" + ], + "type": "object" + }, + "SchedulerWithLogs": { + "properties": { + "logs": { + "items": { + "$ref": "#/components/schemas/SchedulerLog" }, - "required": ["name", "uuid"], - "type": "object" + "type": "array" }, - "organization": { - "properties": { - "name": { - "type": "string" + "dashboards": { + "items": { + "properties": { + "dashboardUuid": { + "type": "string" + }, + "name": { + "type": "string" + } }, - "uuid": { - "type": "string" - } + "required": ["dashboardUuid", "name"], + "type": "object" }, - "required": ["name", "uuid"], - "type": "object" + "type": "array" }, - "space": { - "properties": { - "name": { - "type": "string" + "charts": { + "items": { + "properties": { + "savedChartUuid": { + "type": "string" + }, + "name": { + "type": "string" + } }, - "uuid": { - "type": "string" - } + "required": ["savedChartUuid", "name"], + "type": "object" }, - "required": ["name", "uuid"], - "type": "object" + "type": "array" }, - "pinnedList": { - "properties": { - "uuid": { - "type": "string" - } + "users": { + "items": { + "properties": { + "userUuid": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + } + }, + "required": ["userUuid", "lastName", "firstName"], + "type": "object" }, - "required": ["uuid"], - "type": "object", - "nullable": true - }, - "views": { - "type": "number", - "format": "double" - }, - "firstViewedAt": { - "type": "string", - "format": "date-time", - "nullable": true - }, - "source": { - "$ref": "#/components/schemas/ChartSourceType" - }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" + "type": "array" }, - "dashboard": { - "properties": { - "name": { - "type": "string" - }, - "uuid": { - "type": "string" - } + "schedulers": { + "items": { + "$ref": "#/components/schemas/SchedulerAndTargets" }, - "required": ["name", "uuid"], - "type": "object", - "nullable": true + "type": "array" } }, "required": [ - "contentType", - "uuid", - "slug", - "name", - "description", - "createdAt", - "createdBy", - "lastUpdatedAt", - "lastUpdatedBy", - "project", - "organization", - "space", - "pinnedList", - "views", - "firstViewedAt", - "source", - "chartKind", - "dashboard" + "logs", + "dashboards", + "charts", + "users", + "schedulers" ], - "type": "object", - "additionalProperties": true - }, - "ContentType.DASHBOARD": { - "enum": ["dashboard"], - "type": "string" + "type": "object" }, - "DashboardContent": { + "ApiSchedulerLogsResponse": { "properties": { - "contentType": { - "$ref": "#/components/schemas/ContentType.DASHBOARD" - }, - "uuid": { - "type": "string" - }, - "slug": { - "type": "string" + "results": { + "$ref": "#/components/schemas/SchedulerWithLogs" }, - "name": { - "type": "string" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ApiSchedulerAndTargetsResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/SchedulerAndTargets" }, - "description": { + "status": { "type": "string", - "nullable": true + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ScheduledJobs": { + "properties": { + "id": { + "type": "string" }, - "createdAt": { + "date": { "type": "string", "format": "date-time" - }, - "createdBy": { - "properties": { - "lastName": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "uuid": { - "type": "string" - } + } + }, + "required": ["id", "date"], + "type": "object" + }, + "ApiScheduledJobsResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/ScheduledJobs" }, - "required": ["lastName", "firstName", "uuid"], - "type": "object", - "nullable": true + "type": "array" }, - "lastUpdatedAt": { + "status": { "type": "string", - "format": "date-time", - "nullable": true - }, - "lastUpdatedBy": { - "properties": { - "lastName": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "uuid": { - "type": "string" - } - }, - "required": ["lastName", "firstName", "uuid"], - "type": "object", - "nullable": true - }, - "project": { - "properties": { - "name": { - "type": "string" - }, - "uuid": { - "type": "string" - } - }, - "required": ["name", "uuid"], - "type": "object" - }, - "organization": { + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ApiJobStatusResponse": { + "properties": { + "results": { "properties": { - "name": { - "type": "string" + "details": { + "allOf": [ + { + "$ref": "#/components/schemas/Record_string.any_" + } + ], + "nullable": true }, - "uuid": { - "type": "string" + "status": { + "$ref": "#/components/schemas/SchedulerJobStatus" } }, - "required": ["name", "uuid"], + "required": ["details", "status"], "type": "object" }, - "space": { + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ApiTestSchedulerResponse": { + "properties": { + "results": { "properties": { - "name": { - "type": "string" - }, - "uuid": { + "jobId": { "type": "string" } }, - "required": ["name", "uuid"], + "required": ["jobId"], "type": "object" }, - "pinnedList": { - "properties": { - "uuid": { - "type": "string" - } - }, - "required": ["uuid"], - "type": "object", - "nullable": true - }, - "views": { - "type": "number", - "format": "double" - }, - "firstViewedAt": { + "status": { "type": "string", - "format": "date-time", - "nullable": true + "enum": ["ok"], + "nullable": false } }, - "required": [ - "contentType", - "uuid", - "slug", - "name", - "description", - "createdAt", - "createdBy", - "lastUpdatedAt", - "lastUpdatedBy", - "project", - "organization", - "space", - "pinnedList", - "views", - "firstViewedAt" - ], - "type": "object", - "additionalProperties": true - }, - "SummaryContent": { - "anyOf": [ - { - "$ref": "#/components/schemas/ChartContent" - }, - { - "$ref": "#/components/schemas/DashboardContent" - } - ] + "required": ["results", "status"], + "type": "object" }, - "KnexPaginatedData_SummaryContent-Array_": { + "ShareUrl": { "properties": { - "pagination": { - "allOf": [ - { - "$ref": "#/components/schemas/KnexPaginateArgs" - }, - { - "properties": { - "totalPageCount": { - "type": "number", - "format": "double" - } - }, - "required": ["totalPageCount"], - "type": "object" - } - ] + "host": { + "type": "string" }, - "data": { - "items": { - "$ref": "#/components/schemas/SummaryContent" - }, - "type": "array" + "url": { + "type": "string" + }, + "shareUrl": { + "type": "string" + }, + "organizationUuid": { + "type": "string", + "format": "uuid" + }, + "createdByUserUuid": { + "type": "string", + "format": "uuid" + }, + "params": { + "type": "string" + }, + "path": { + "type": "string", + "description": "The URL path of the full URL" + }, + "nanoid": { + "type": "string", + "description": "Unique shareable id" } }, - "required": ["data"], - "type": "object" + "required": ["params", "path", "nanoid"], + "type": "object", + "description": "A ShareUrl maps a short shareable id to a full URL\nin the Lightdash UI. This allows very long URLs\nto be represented by short ids." }, - "ApiContentResponse": { + "ApiShareResponse": { "properties": { "results": { - "$ref": "#/components/schemas/KnexPaginatedData_SummaryContent-Array_" + "$ref": "#/components/schemas/ShareUrl" }, "status": { "type": "string", @@ -9175,543 +8819,811 @@ "required": ["results", "status"], "type": "object" }, - "SemanticLayerClientInfo": { + "Pick_ShareUrl.path-or-params_": { + "properties": { + "path": { + "type": "string", + "description": "The URL path of the full URL" + }, + "params": { + "type": "string" + } + }, + "required": ["path", "params"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "CreateShareUrl": { + "$ref": "#/components/schemas/Pick_ShareUrl.path-or-params_", + "description": "Contains the detail of a full URL to generate a short URL id" + }, + "SlackChannel": { "properties": { "name": { "type": "string" }, - "features": { - "properties": { - "views": { - "type": "boolean" - } - }, - "required": ["views"], - "type": "object" - }, - "config": { - "properties": { - "maxQueryLimit": { - "type": "number", - "format": "double" - } - }, - "required": ["maxQueryLimit"], - "type": "object" + "id": { + "type": "string" } }, - "required": ["name", "features", "config"], - "type": "object", - "additionalProperties": true + "required": ["name", "id"], + "type": "object" }, - "ApiSemanticLayerClientInfo": { + "ApiSlackChannelsResponse": { "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/SlackChannel" + }, + "type": "array" + }, "status": { "type": "string", "enum": ["ok"], "nullable": false - }, - "results": { - "allOf": [ - { - "$ref": "#/components/schemas/SemanticLayerClientInfo" - } - ], - "nullable": true } }, - "required": ["status", "results"], - "type": "object", - "additionalProperties": true + "required": ["status"], + "type": "object" }, - "SemanticLayerView": { + "ApiSlackCustomSettingsResponse": { "properties": { - "visible": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "label": { + "results": {}, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "SlackChannelProjectMapping": { + "properties": { + "slackChannelId": { "type": "string" }, - "name": { + "projectUuid": { "type": "string" } }, - "required": ["visible", "label", "name"], + "required": ["slackChannelId", "projectUuid"], "type": "object" }, - "SemanticLayerFieldType": { - "enum": ["time", "number", "string", "boolean"], - "type": "string" + "SlackAppCustomSettings": { + "properties": { + "slackChannelProjectMappings": { + "items": { + "$ref": "#/components/schemas/SlackChannelProjectMapping" + }, + "type": "array" + }, + "appProfilePhotoUrl": { + "type": "string", + "nullable": true + }, + "notificationChannel": { + "type": "string", + "nullable": true + } + }, + "required": ["appProfilePhotoUrl", "notificationChannel"], + "type": "object" }, - "SemanticLayerTimeGranularity": { - "enum": [ - "NANOSECOND", - "MICROSECOND", - "MILLISECOND", - "SECOND", - "MINUTE", - "HOUR", - "DAY", - "WEEK", - "MONTH", - "QUARTER", - "YEAR" - ], - "type": "string" + "SpaceDashboard": { + "$ref": "#/components/schemas/DashboardBasicDetails" }, - "SemanticLayerFilterBaseOperator": { - "enum": ["IS", "IS_NOT"], - "type": "string" + "SpaceGroup": { + "properties": { + "spaceRole": { + "$ref": "#/components/schemas/SpaceMemberRole" + }, + "groupName": { + "type": "string" + }, + "groupUuid": { + "type": "string" + } + }, + "required": ["spaceRole", "groupName", "groupUuid"], + "type": "object" }, - "SemanticLayerField": { + "Space": { "properties": { - "availableOperators": { + "slug": { + "type": "string" + }, + "pinnedListOrder": { + "type": "number", + "format": "double", + "nullable": true + }, + "pinnedListUuid": { + "type": "string", + "nullable": true + }, + "groupsAccess": { "items": { - "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" + "$ref": "#/components/schemas/SpaceGroup" }, "type": "array" }, - "availableGranularities": { + "access": { "items": { - "$ref": "#/components/schemas/SemanticLayerTimeGranularity" + "$ref": "#/components/schemas/SpaceShare" }, "type": "array" }, - "aggType": { + "dashboards": { + "items": { + "$ref": "#/components/schemas/SpaceDashboard" + }, + "type": "array" + }, + "projectUuid": { "type": "string" }, - "visible": { + "queries": { + "items": { + "$ref": "#/components/schemas/SpaceQuery" + }, + "type": "array" + }, + "isPrivate": { "type": "boolean" }, - "description": { + "name": { "type": "string" }, - "kind": { - "$ref": "#/components/schemas/FieldType" - }, - "type": { - "$ref": "#/components/schemas/SemanticLayerFieldType" - }, - "label": { + "uuid": { "type": "string" }, - "name": { + "organizationUuid": { "type": "string" } }, "required": [ - "availableOperators", - "availableGranularities", - "visible", - "kind", - "type", - "label", - "name" + "slug", + "pinnedListOrder", + "pinnedListUuid", + "groupsAccess", + "access", + "dashboards", + "projectUuid", + "queries", + "isPrivate", + "name", + "uuid", + "organizationUuid" ], "type": "object" }, - "Pick_SemanticLayerField.name_": { + "ApiSpaceResponse": { "properties": { - "name": { - "type": "string" + "results": { + "$ref": "#/components/schemas/Space" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } }, - "required": ["name"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["results", "status"], + "type": "object" }, - "Pick_SemanticLayerTimeDimension.name-or-granularity_": { + "Pick_SpaceShare.userUuid-or-role_": { "properties": { - "name": { + "userUuid": { "type": "string" }, - "granularity": { - "$ref": "#/components/schemas/SemanticLayerTimeGranularity" + "role": { + "$ref": "#/components/schemas/SpaceMemberRole" } }, - "required": ["name"], + "required": ["userUuid", "role"], "type": "object", "description": "From T, pick a set of properties whose keys are in the union K" }, - "Pick_SemanticLayerQuery.dimensions-or-timeDimensions-or-metrics_": { + "CreateSpace": { "properties": { - "dimensions": { + "access": { "items": { - "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + "$ref": "#/components/schemas/Pick_SpaceShare.userUuid-or-role_" }, "type": "array" }, - "timeDimensions": { - "items": { - "$ref": "#/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_" - }, - "type": "array" + "isPrivate": { + "type": "boolean" }, - "metrics": { - "items": { - "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" - }, - "type": "array" + "name": { + "type": "string" } }, - "required": ["dimensions", "timeDimensions", "metrics"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["name"], + "type": "object" }, - "SemanticLayerFilterBase": { + "UpdateSpace": { "properties": { - "fieldType": { - "$ref": "#/components/schemas/SemanticLayerFieldType" + "isPrivate": { + "type": "boolean" }, - "fieldKind": { - "$ref": "#/components/schemas/FieldType" + "name": { + "type": "string" + } + }, + "required": ["isPrivate", "name"], + "type": "object" + }, + "AddSpaceUserAccess": { + "properties": { + "spaceRole": { + "$ref": "#/components/schemas/SpaceMemberRole" }, - "fieldRef": { + "userUuid": { "type": "string" + } + }, + "required": ["spaceRole", "userUuid"], + "type": "object" + }, + "AddSpaceGroupAccess": { + "properties": { + "spaceRole": { + "$ref": "#/components/schemas/SpaceMemberRole" }, - "uuid": { + "groupUuid": { "type": "string" } }, - "required": ["fieldType", "fieldKind", "fieldRef", "uuid"], + "required": ["spaceRole", "groupUuid"], "type": "object" }, - "SemanticLayerFieldType.STRING": { - "enum": ["string"], + "PartitionType": { + "enum": ["DATE", "RANGE"], "type": "string" }, - "SemanticLayerStringFilter": { - "allOf": [ - { - "$ref": "#/components/schemas/SemanticLayerFilterBase" + "PartitionColumn": { + "properties": { + "field": { + "type": "string" }, - { - "properties": { - "values": { - "items": { - "type": "string" - }, - "type": "array" - }, - "operator": { - "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" - }, - "fieldType": { - "$ref": "#/components/schemas/SemanticLayerFieldType.STRING" - } - }, - "required": ["values", "operator", "fieldType"], - "type": "object" + "partitionType": { + "$ref": "#/components/schemas/PartitionType" } - ] - }, - "SemanticLayerFieldType.TIME": { - "enum": ["time"], - "type": "string" + }, + "required": ["field", "partitionType"], + "type": "object" }, - "SemanticLayerExactTimeFilter": { - "allOf": [ - { - "$ref": "#/components/schemas/SemanticLayerFilterBase" - }, - { - "properties": { - "values": { - "properties": { - "time": { - "type": "string" - } - }, - "required": ["time"], - "type": "object" - }, - "operator": { - "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" + "WarehouseTablesCatalog": { + "properties": {}, + "additionalProperties": { + "properties": {}, + "additionalProperties": { + "properties": {}, + "additionalProperties": { + "properties": { + "partitionColumn": { + "$ref": "#/components/schemas/PartitionColumn" + } }, - "fieldType": { - "$ref": "#/components/schemas/SemanticLayerFieldType.TIME" - } + "type": "object" }, - "required": ["values", "operator", "fieldType"], "type": "object" - } - ] - }, - "SemanticLayerFilterRelativeTimeValue": { - "enum": ["TODAY", "YESTERDAY", "LAST_7_DAYS", "LAST_30_DAYS"], - "type": "string" - }, - "SemanticLayerRelativeTimeFilter": { - "allOf": [ - { - "$ref": "#/components/schemas/SemanticLayerFilterBase" }, - { - "properties": { - "values": { - "properties": { - "relativeTime": { - "$ref": "#/components/schemas/SemanticLayerFilterRelativeTimeValue" - } - }, - "required": ["relativeTime"], - "type": "object" - }, - "operator": { - "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" - }, - "fieldType": { - "$ref": "#/components/schemas/SemanticLayerFieldType.TIME" - } - }, - "required": ["values", "operator", "fieldType"], - "type": "object" - } - ] + "type": "object" + }, + "type": "object" }, - "SemanticLayerTimeFilter": { - "anyOf": [ - { - "$ref": "#/components/schemas/SemanticLayerExactTimeFilter" + "ApiWarehouseTablesCatalog": { + "properties": { + "results": { + "$ref": "#/components/schemas/WarehouseTablesCatalog" }, - { - "$ref": "#/components/schemas/SemanticLayerRelativeTimeFilter" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } - ] + }, + "required": ["results", "status"], + "type": "object" }, - "SemanticLayerFilterTypes": { - "anyOf": [ - { - "$ref": "#/components/schemas/SemanticLayerStringFilter" + "WarehouseTableSchema": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/DimensionType" + }, + "type": "object" + }, + "ApiWarehouseTableFields": { + "properties": { + "results": { + "$ref": "#/components/schemas/WarehouseTableSchema" }, - { - "$ref": "#/components/schemas/SemanticLayerTimeFilter" + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false } - ] + }, + "required": ["results", "status"], + "type": "object" }, - "SemanticLayerFilter": { - "allOf": [ - { - "$ref": "#/components/schemas/SemanticLayerFilterTypes" + "SqlRunnerBody": { + "properties": { + "limit": { + "type": "number", + "format": "double" }, - { - "properties": { - "or": { - "items": { - "$ref": "#/components/schemas/SemanticLayerFilter" - }, - "type": "array" - }, - "and": { - "items": { - "$ref": "#/components/schemas/SemanticLayerFilter" - }, - "type": "array" - } - }, - "type": "object" + "sql": { + "type": "string" } - ] + }, + "required": ["sql"], + "type": "object" }, - "Pick_SemanticLayerField.name-or-kind_": { + "VizIndexType": { + "enum": ["time", "category"], + "type": "string" + }, + "PivotIndexColum": { "properties": { - "name": { - "type": "string" + "type": { + "$ref": "#/components/schemas/VizIndexType" }, - "kind": { - "$ref": "#/components/schemas/FieldType" + "reference": { + "type": "string" } }, - "required": ["name", "kind"], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" + "required": ["type", "reference"], + "type": "object" + }, + "VizAggregationOptions": { + "enum": ["sum", "count", "avg", "min", "max", "any"], + "type": "string" }, - "SemanticLayerSortByDirection": { + "SortByDirection": { "enum": ["ASC", "DESC"], "type": "string" }, - "SemanticLayerSortBy": { - "allOf": [ - { - "$ref": "#/components/schemas/Pick_SemanticLayerField.name-or-kind_" + "VizSortBy": { + "properties": { + "direction": { + "$ref": "#/components/schemas/SortByDirection" }, - { - "properties": { - "direction": { - "$ref": "#/components/schemas/SemanticLayerSortByDirection" - } - }, - "required": ["direction"], - "type": "object" + "reference": { + "type": "string" } - ] + }, + "required": ["direction", "reference"], + "type": "object" }, - "SemanticLayerPivot": { + "ApiSqlRunnerPivotQueryPayload": { "properties": { - "values": { + "sortBy": { "items": { - "type": "string" + "$ref": "#/components/schemas/VizSortBy" }, "type": "array" }, - "index": { + "groupByColumns": { "items": { - "type": "string" + "properties": { + "reference": { + "type": "string" + } + }, + "required": ["reference"], + "type": "object" }, "type": "array" }, - "on": { + "valuesColumns": { "items": { - "type": "string" + "properties": { + "aggregation": { + "$ref": "#/components/schemas/VizAggregationOptions" + }, + "reference": { + "type": "string" + } + }, + "required": ["aggregation", "reference"], + "type": "object" }, "type": "array" + }, + "indexColumn": { + "$ref": "#/components/schemas/PivotIndexColum" + }, + "savedSqlUuid": { + "type": "string" } }, - "required": ["values", "index", "on"], + "required": ["valuesColumns", "indexColumn"], "type": "object" }, - "SemanticLayerQuery": { - "properties": { - "timezone": { - "type": "string" - }, - "limit": { - "type": "number", - "format": "double" + "SqlRunnerPivotQueryBody": { + "allOf": [ + { + "$ref": "#/components/schemas/SqlRunnerBody" }, - "pivot": { - "$ref": "#/components/schemas/SemanticLayerPivot" + { + "$ref": "#/components/schemas/ApiSqlRunnerPivotQueryPayload" + } + ] + }, + "VizBaseConfig": { + "properties": { + "type": { + "$ref": "#/components/schemas/ChartKind" }, - "sortBy": { - "items": { - "$ref": "#/components/schemas/SemanticLayerSortBy" + "metadata": { + "properties": { + "version": { + "type": "number", + "format": "double" + } }, - "type": "array" - }, - "filters": { + "required": ["version"], + "type": "object" + } + }, + "required": ["type", "metadata"], + "type": "object" + }, + "ChartKind.VERTICAL_BAR": { + "enum": ["vertical_bar"], + "type": "string" + }, + "ChartKind.LINE": { + "enum": ["line"], + "type": "string" + }, + "PivotChartLayout": { + "properties": { + "sortBy": { "items": { - "$ref": "#/components/schemas/SemanticLayerFilter" + "$ref": "#/components/schemas/VizSortBy" }, "type": "array" }, - "metrics": { + "groupBy": { "items": { - "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + "properties": { + "reference": { + "type": "string" + } + }, + "required": ["reference"], + "type": "object" }, "type": "array" }, - "timeDimensions": { + "y": { "items": { - "$ref": "#/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_" + "properties": { + "aggregation": { + "$ref": "#/components/schemas/VizAggregationOptions" + }, + "reference": { + "type": "string" + } + }, + "required": ["aggregation", "reference"], + "type": "object" }, "type": "array" }, - "dimensions": { - "items": { - "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + "x": { + "properties": { + "type": { + "$ref": "#/components/schemas/VizIndexType" + }, + "reference": { + "type": "string" + } }, - "type": "array" + "required": ["type", "reference"], + "type": "object" } }, - "required": [ - "sortBy", - "filters", - "metrics", - "timeDimensions", - "dimensions" - ], + "required": ["y"], "type": "object" }, - "SemanticViewerChartCreateResult": { - "properties": { - "slug": { - "type": "string" - }, - "savedSemanticViewerChartUuid": { - "type": "string" - } - }, - "required": ["slug", "savedSemanticViewerChartUuid"], - "type": "object" + "CartesianSeriesType.LINE": { + "enum": ["line"], + "type": "string" }, - "ApiSemanticViewerChartCreate": { - "properties": { - "results": { - "$ref": "#/components/schemas/SemanticViewerChartCreateResult" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "CartesianSeriesType.BAR": { + "enum": ["bar"], + "type": "string" }, - "SemanticViewerChartCreate": { + "ValueLabelPositionOptions": { + "enum": ["hidden", "top", "bottom", "left", "right", "inside"], + "type": "string" + }, + "CartesianChartDisplay": { "properties": { - "spaceUuid": { - "type": "string" - }, - "config": { - "$ref": "#/components/schemas/VizChartConfig" + "stack": { + "type": "boolean" }, - "semanticLayerQuery": { - "$ref": "#/components/schemas/SemanticLayerQuery" + "legend": { + "properties": { + "align": { + "type": "string", + "enum": ["start", "center", "end"] + }, + "position": { + "type": "string", + "enum": ["top", "bottom", "left", "right"] + } + }, + "required": ["align", "position"], + "type": "object" }, - "semanticLayerView": { - "type": "string", - "nullable": true + "series": { + "properties": {}, + "additionalProperties": { + "properties": { + "whichYAxis": { + "type": "number", + "format": "double" + }, + "valueLabelPosition": { + "$ref": "#/components/schemas/ValueLabelPositionOptions" + }, + "type": { + "anyOf": [ + { + "$ref": "#/components/schemas/CartesianSeriesType.LINE" + }, + { + "$ref": "#/components/schemas/CartesianSeriesType.BAR" + } + ] + }, + "color": { + "type": "string" + }, + "yAxisIndex": { + "type": "number", + "format": "double" + }, + "format": { + "$ref": "#/components/schemas/Format" + }, + "label": { + "type": "string" + } + }, + "type": "object" + }, + "type": "object" }, - "description": { - "type": "string", - "nullable": true + "yAxis": { + "items": { + "properties": { + "format": { + "$ref": "#/components/schemas/Format" + }, + "position": { + "type": "string" + }, + "label": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" }, - "name": { - "type": "string" + "xAxis": { + "properties": { + "type": { + "$ref": "#/components/schemas/VizIndexType" + }, + "label": { + "type": "string" + } + }, + "type": "object" } }, - "required": [ - "spaceUuid", - "config", - "semanticLayerQuery", - "semanticLayerView", - "description", - "name" - ], "type": "object" }, - "AllVizChartConfig": { - "anyOf": [ - { - "$ref": "#/components/schemas/VizBarChartConfig" - }, - { - "$ref": "#/components/schemas/VizLineChartConfig" - }, + "VizCartesianChartConfig": { + "allOf": [ { - "$ref": "#/components/schemas/VizPieChartConfig" + "$ref": "#/components/schemas/VizBaseConfig" }, { - "$ref": "#/components/schemas/VizTableConfig" - } - ] - }, - "SavedSemanticViewerChart": { - "properties": { - "lastViewedAt": { - "type": "string", - "format": "date-time" - }, - "firstViewedAt": { - "type": "string", - "format": "date-time" - }, - "views": { - "type": "number", + "properties": { + "display": { + "$ref": "#/components/schemas/CartesianChartDisplay" + }, + "fieldConfig": { + "$ref": "#/components/schemas/PivotChartLayout" + }, + "type": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChartKind.VERTICAL_BAR" + }, + { + "$ref": "#/components/schemas/ChartKind.LINE" + } + ] + } + }, + "required": ["type"], + "type": "object" + } + ] + }, + "ChartKind.PIE": { + "enum": ["pie"], + "type": "string" + }, + "VizPieChartDisplay": { + "properties": { + "isDonut": { + "type": "boolean" + } + }, + "type": "object" + }, + "VizPieChartConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/VizBaseConfig" + }, + { + "properties": { + "display": { + "$ref": "#/components/schemas/VizPieChartDisplay" + }, + "fieldConfig": { + "$ref": "#/components/schemas/PivotChartLayout" + }, + "type": { + "$ref": "#/components/schemas/ChartKind.PIE" + } + }, + "required": ["type"], + "type": "object" + } + ] + }, + "ChartKind.TABLE": { + "enum": ["table"], + "type": "string" + }, + "VizColumnConfig": { + "properties": { + "aggregation": { + "$ref": "#/components/schemas/VizAggregationOptions" + }, + "order": { + "type": "number", + "format": "double" + }, + "frozen": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "visible": { + "type": "boolean" + } + }, + "required": ["frozen", "label", "reference", "visible"], + "type": "object" + }, + "VizColumnsConfig": { + "properties": {}, + "additionalProperties": { + "$ref": "#/components/schemas/VizColumnConfig" + }, + "type": "object" + }, + "VizTableDisplay": { + "properties": {}, + "type": "object" + }, + "VizTableConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/VizBaseConfig" + }, + { + "properties": { + "display": { + "$ref": "#/components/schemas/VizTableDisplay" + }, + "columns": { + "$ref": "#/components/schemas/VizColumnsConfig" + }, + "type": { + "$ref": "#/components/schemas/ChartKind.TABLE" + } + }, + "required": ["columns", "type"], + "type": "object" + } + ] + }, + "Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + }, + "isPrivate": { + "type": "boolean" + }, + "userAccess": { + "$ref": "#/components/schemas/SpaceShare" + } + }, + "required": ["name", "uuid", "isPrivate"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_Dashboard.uuid-or-name_": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_Project.projectUuid_": { + "properties": { + "projectUuid": { + "type": "string" + } + }, + "required": ["projectUuid"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_Organization.organizationUuid_": { + "properties": { + "organizationUuid": { + "type": "string", + "description": "The unique identifier of the organization", + "format": "uuid" + } + }, + "required": ["organizationUuid"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "SqlChart": { + "properties": { + "lastViewedAt": { + "type": "string", + "format": "date-time" + }, + "firstViewedAt": { + "type": "string", + "format": "date-time" + }, + "views": { + "type": "number", "format": "double" }, "organization": { @@ -9758,15 +9670,32 @@ "chartKind": { "$ref": "#/components/schemas/ChartKind" }, - "semanticLayerQuery": { - "$ref": "#/components/schemas/SemanticLayerQuery" + "config": { + "allOf": [ + { + "$ref": "#/components/schemas/VizBaseConfig" + }, + { + "anyOf": [ + { + "$ref": "#/components/schemas/VizCartesianChartConfig" + }, + { + "$ref": "#/components/schemas/VizPieChartConfig" + }, + { + "$ref": "#/components/schemas/VizTableConfig" + } + ] + } + ] }, - "semanticLayerView": { - "type": "string", - "nullable": true + "limit": { + "type": "number", + "format": "double" }, - "config": { - "$ref": "#/components/schemas/AllVizChartConfig" + "sql": { + "type": "string" }, "slug": { "type": "string" @@ -9778,7 +9707,7 @@ "name": { "type": "string" }, - "savedSemanticViewerChartUuid": { + "savedSqlUuid": { "type": "string" } }, @@ -9795,20 +9724,20 @@ "createdBy", "createdAt", "chartKind", - "semanticLayerQuery", - "semanticLayerView", "config", + "limit", + "sql", "slug", "description", "name", - "savedSemanticViewerChartUuid" + "savedSqlUuid" ], "type": "object" }, - "ApiSemanticViewerChartGet": { + "ApiSqlChart": { "properties": { "results": { - "$ref": "#/components/schemas/SavedSemanticViewerChart" + "$ref": "#/components/schemas/SqlChart" }, "status": { "type": "string", @@ -9819,26 +9748,19 @@ "required": ["results", "status"], "type": "object" }, - "SemanticViewerChartUpdateResult": { - "properties": { - "savedSemanticViewerChartVersionUuid": { - "type": "string", - "nullable": true - }, - "savedSemanticViewerChartUuid": { - "type": "string" - } - }, - "required": [ - "savedSemanticViewerChartVersionUuid", - "savedSemanticViewerChartUuid" - ], - "type": "object" - }, - "ApiSemanticViewerChartUpdate": { + "ApiCreateSqlChart": { "properties": { "results": { - "$ref": "#/components/schemas/SemanticViewerChartUpdateResult" + "properties": { + "slug": { + "type": "string" + }, + "savedSqlUuid": { + "type": "string" + } + }, + "required": ["slug", "savedSqlUuid"], + "type": "object" }, "status": { "type": "string", @@ -9849,254 +9771,113 @@ "required": ["results", "status"], "type": "object" }, - "SemanticViewerChartUpdate": { - "properties": { - "versionedData": { - "properties": { - "chartKind": { - "$ref": "#/components/schemas/ChartKind" - }, - "config": { - "$ref": "#/components/schemas/VizChartConfig" - }, - "semanticLayerQuery": { - "$ref": "#/components/schemas/SemanticLayerQuery" - }, - "semanticLayerView": { - "type": "string", - "nullable": true - } - }, - "required": [ - "chartKind", - "config", - "semanticLayerQuery", - "semanticLayerView" - ], - "type": "object" + "VizBarChartConfig": { + "allOf": [ + { + "$ref": "#/components/schemas/VizBaseConfig" }, - "unversionedData": { + { "properties": { - "spaceUuid": { - "type": "string" + "display": { + "$ref": "#/components/schemas/CartesianChartDisplay" }, - "description": { - "type": "string", - "nullable": true + "fieldConfig": { + "$ref": "#/components/schemas/PivotChartLayout" }, - "name": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ChartKind.VERTICAL_BAR" } }, - "required": ["spaceUuid", "description", "name"], + "required": ["type"], "type": "object" } - }, - "type": "object" - }, - "ValidationTarget": { - "enum": ["charts", "dashboards", "tables"], - "type": "string" - }, - "ValidationErrorType": { - "enum": [ - "chart", - "sorting", - "filter", - "metric", - "model", - "dimension", - "custom metric" - ], - "type": "string" - }, - "ValidationSourceType": { - "enum": ["chart", "dashboard", "table"], - "type": "string" - }, - "ValidationResponseBase": { - "properties": { - "source": { - "$ref": "#/components/schemas/ValidationSourceType" - }, - "spaceUuid": { - "type": "string" - }, - "projectUuid": { - "type": "string" - }, - "errorType": { - "$ref": "#/components/schemas/ValidationErrorType" - }, - "error": { - "type": "string" - }, - "name": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "validationId": { - "type": "number", - "format": "double" - } - }, - "required": [ - "projectUuid", - "errorType", - "error", - "name", - "createdAt", - "validationId" - ], - "type": "object" + ] }, - "ValidationErrorChartResponse": { + "VizLineChartConfig": { "allOf": [ { - "$ref": "#/components/schemas/ValidationResponseBase" + "$ref": "#/components/schemas/VizBaseConfig" }, { "properties": { - "chartName": { - "type": "string" - }, - "chartViews": { - "type": "number", - "format": "double" - }, - "lastUpdatedAt": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedBy": { - "type": "string" - }, - "fieldName": { - "type": "string" + "display": { + "$ref": "#/components/schemas/CartesianChartDisplay" }, - "chartKind": { - "$ref": "#/components/schemas/ChartKind" + "fieldConfig": { + "$ref": "#/components/schemas/PivotChartLayout" }, - "chartUuid": { - "type": "string" + "type": { + "$ref": "#/components/schemas/ChartKind.LINE" } }, - "required": ["chartViews"], + "required": ["type"], "type": "object" } ] }, - "ValidationErrorDashboardResponse": { - "allOf": [ + "AllVizChartConfig": { + "anyOf": [ { - "$ref": "#/components/schemas/ValidationResponseBase" + "$ref": "#/components/schemas/VizBarChartConfig" }, { - "properties": { - "dashboardViews": { - "type": "number", - "format": "double" - }, - "lastUpdatedAt": { - "type": "string", - "format": "date-time" - }, - "lastUpdatedBy": { - "type": "string" - }, - "fieldName": { - "type": "string" - }, - "chartName": { - "type": "string" - }, - "dashboardUuid": { - "type": "string" - } - }, - "required": ["dashboardViews"], - "type": "object" + "$ref": "#/components/schemas/VizLineChartConfig" + }, + { + "$ref": "#/components/schemas/VizPieChartConfig" + }, + { + "$ref": "#/components/schemas/VizTableConfig" } ] }, - "Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__": { + "CreateSqlChart": { "properties": { "spaceUuid": { "type": "string" }, - "projectUuid": { - "type": "string" + "config": { + "$ref": "#/components/schemas/AllVizChartConfig" }, - "validationId": { + "limit": { "type": "number", "format": "double" }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "error": { + "sql": { "type": "string" }, - "errorType": { - "$ref": "#/components/schemas/ValidationErrorType" + "description": { + "type": "string", + "nullable": true }, - "source": { - "$ref": "#/components/schemas/ValidationSourceType" + "name": { + "type": "string" } }, "required": [ - "projectUuid", - "validationId", - "createdAt", - "error", - "errorType" + "spaceUuid", + "config", + "limit", + "sql", + "description", + "name" ], - "type": "object", - "description": "From T, pick a set of properties whose keys are in the union K" - }, - "Omit_ValidationResponseBase.name_": { - "$ref": "#/components/schemas/Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__", - "description": "Construct a type with the properties of T except for those in type K." + "type": "object" }, - "ValidationErrorTableResponse": { - "allOf": [ - { - "$ref": "#/components/schemas/Omit_ValidationResponseBase.name_" - }, - { + "ApiUpdateSqlChart": { + "properties": { + "results": { "properties": { - "name": { + "savedSqlVersionUuid": { + "type": "string", + "nullable": true + }, + "savedSqlUuid": { "type": "string" } }, + "required": ["savedSqlVersionUuid", "savedSqlUuid"], "type": "object" - } - ] - }, - "ValidationResponse": { - "anyOf": [ - { - "$ref": "#/components/schemas/ValidationErrorChartResponse" - }, - { - "$ref": "#/components/schemas/ValidationErrorDashboardResponse" - }, - { - "$ref": "#/components/schemas/ValidationErrorTableResponse" - } - ] - }, - "ApiValidateResponse": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/ValidationResponse" - }, - "type": "array" }, "status": { "type": "string", @@ -10107,50 +9888,3535 @@ "required": ["results", "status"], "type": "object" }, - "ApiValidationDismissResponse": { + "UpdateUnversionedSqlChart": { "properties": { - "status": { - "type": "string", - "enum": ["ok"], + "spaceUuid": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string" + } + }, + "required": ["spaceUuid", "description", "name"], + "type": "object" + }, + "UpdateVersionedSqlChart": { + "properties": { + "config": { + "$ref": "#/components/schemas/AllVizChartConfig" + }, + "limit": { + "type": "number", + "format": "double" + }, + "sql": { + "type": "string" + } + }, + "required": ["config", "limit", "sql"], + "type": "object" + }, + "UpdateSqlChart": { + "properties": { + "versionedData": { + "$ref": "#/components/schemas/UpdateVersionedSqlChart" + }, + "unversionedData": { + "$ref": "#/components/schemas/UpdateUnversionedSqlChart" + } + }, + "type": "object" + }, + "Pick_Explore.name_": { + "properties": { + "name": { + "type": "string" + } + }, + "required": ["name"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "ApiCreateVirtualView": { + "properties": { + "results": { + "$ref": "#/components/schemas/Pick_Explore.name_" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "VizColumn": { + "properties": { + "type": { + "$ref": "#/components/schemas/DimensionType" + }, + "reference": { + "type": "string" + } + }, + "required": ["reference"], + "type": "object" + }, + "CreateVirtualViewPayload": { + "properties": { + "columns": { + "items": { + "$ref": "#/components/schemas/VizColumn" + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": ["columns", "sql", "name"], + "type": "object" + }, + "UpdateVirtualViewPayload": { + "$ref": "#/components/schemas/CreateVirtualViewPayload" + }, + "ApiGithubDbtWritePreview": { + "properties": { + "results": { + "properties": { + "owner": { + "type": "string" + }, + "files": { + "items": { + "type": "string" + }, + "type": "array" + }, + "path": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": ["owner", "files", "path", "repo", "url"], + "type": "object" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ApiGithubDbtWriteBack": { + "properties": { + "results": { + "$ref": "#/components/schemas/PullRequestCreated" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_SshKeyPair.publicKey_": { + "properties": { + "publicKey": { + "type": "string" + } + }, + "required": ["publicKey"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "ApiSshKeyPairResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/Pick_SshKeyPair.publicKey_" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "UserAttributeValue": { + "properties": { + "value": { + "type": "string" + }, + "email": { + "type": "string" + }, + "userUuid": { + "type": "string" + } + }, + "required": ["value", "email", "userUuid"], + "type": "object" + }, + "GroupAttributeValue": { + "properties": { + "value": { + "type": "string" + }, + "groupUuid": { + "type": "string" + } + }, + "required": ["value", "groupUuid"], + "type": "object" + }, + "UserAttribute": { + "properties": { + "attributeDefault": { + "type": "string", + "nullable": true + }, + "groups": { + "items": { + "$ref": "#/components/schemas/GroupAttributeValue" + }, + "type": "array" + }, + "users": { + "items": { + "$ref": "#/components/schemas/UserAttributeValue" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "name": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "uuid": { + "type": "string" + } + }, + "required": [ + "attributeDefault", + "groups", + "users", + "organizationUuid", + "name", + "createdAt", + "uuid" + ], + "type": "object" + }, + "ApiUserAttributesResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/UserAttribute" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": ["ok"], "nullable": false } }, - "required": ["status"], - "type": "object" + "required": ["results", "status"], + "type": "object" + }, + "ApiCreateUserAttributeResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/UserAttribute" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_UserAttribute.name-or-description-or-attributeDefault_": { + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "attributeDefault": { + "type": "string", + "nullable": true + } + }, + "required": ["name", "attributeDefault"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__": { + "properties": { + "userUuid": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": ["userUuid", "value"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_UserAttributeValue.email_": { + "$ref": "#/components/schemas/Pick_UserAttributeValue.Exclude_keyofUserAttributeValue.email__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "CreateUserAttributeValue": { + "$ref": "#/components/schemas/Omit_UserAttributeValue.email_" + }, + "CreateGroupAttributeValue": { + "$ref": "#/components/schemas/GroupAttributeValue" + }, + "CreateUserAttribute": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_UserAttribute.name-or-description-or-attributeDefault_" + }, + { + "properties": { + "groups": { + "items": { + "$ref": "#/components/schemas/CreateGroupAttributeValue" + }, + "type": "array" + }, + "users": { + "items": { + "$ref": "#/components/schemas/CreateUserAttributeValue" + }, + "type": "array" + } + }, + "required": ["groups", "users"], + "type": "object" + } + ] + }, + "LightdashUser": { + "properties": { + "userUuid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + }, + "organizationName": { + "type": "string" + }, + "organizationCreatedAt": { + "type": "string", + "format": "date-time" + }, + "isTrackingAnonymized": { + "type": "boolean" + }, + "isMarketingOptedIn": { + "type": "boolean" + }, + "isSetupComplete": { + "type": "boolean" + }, + "role": { + "$ref": "#/components/schemas/OrganizationMemberRole" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": "string", + "format": "date-time" + }, + "isActive": { + "type": "boolean", + "description": "Whether the user can login" + }, + "isPending": { + "type": "boolean", + "description": "Whether the user doesn't have an authentication method (password or openId)" + } + }, + "required": [ + "userUuid", + "firstName", + "lastName", + "isTrackingAnonymized", + "isMarketingOptedIn", + "isSetupComplete", + "createdAt", + "updatedAt", + "isActive" + ], + "type": "object", + "additionalProperties": true + }, + "ApiGetAuthenticatedUserResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/LightdashUser" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object", + "description": "Shows the authenticated user" + }, + "ApiRegisterUserResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/LightdashUser" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ActivateUser": { + "properties": { + "password": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + } + }, + "required": ["password", "lastName", "firstName"], + "type": "object" + }, + "ActivateUserWithInviteCode": { + "allOf": [ + { + "$ref": "#/components/schemas/ActivateUser" + }, + { + "properties": { + "inviteCode": { + "type": "string" + } + }, + "required": ["inviteCode"], + "type": "object" + } + ] + }, + "Email": { + "type": "string", + "description": "Email", + "pattern": "^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$" + }, + "CreateUserArgs": { + "properties": { + "password": { + "type": "string" + }, + "email": { + "$ref": "#/components/schemas/Email" + }, + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + } + }, + "required": ["password", "email", "lastName", "firstName"], + "type": "object" + }, + "RegisterOrActivateUser": { + "anyOf": [ + { + "$ref": "#/components/schemas/ActivateUserWithInviteCode" + }, + { + "$ref": "#/components/schemas/CreateUserArgs" + } + ] + }, + "EmailOneTimePassword": { + "properties": { + "numberOfAttempts": { + "type": "number", + "format": "double", + "description": "Number of times the passcode has been attempted" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "Time that the passcode was created" + } + }, + "required": ["numberOfAttempts", "createdAt"], + "type": "object" + }, + "EmailStatus": { + "properties": { + "otp": { + "$ref": "#/components/schemas/EmailOneTimePassword" + }, + "isVerified": { + "type": "boolean" + }, + "email": { + "type": "string" + } + }, + "required": ["isVerified", "email"], + "type": "object" + }, + "EmailOneTimePasswordExpiring": { + "allOf": [ + { + "$ref": "#/components/schemas/EmailOneTimePassword" + }, + { + "properties": { + "isMaxAttempts": { + "type": "boolean" + }, + "isExpired": { + "type": "boolean" + }, + "expiresAt": { + "type": "string", + "format": "date-time" + } + }, + "required": ["isMaxAttempts", "isExpired", "expiresAt"], + "type": "object" + } + ] + }, + "EmailStatusExpiring": { + "allOf": [ + { + "$ref": "#/components/schemas/EmailStatus" + }, + { + "properties": { + "otp": { + "$ref": "#/components/schemas/EmailOneTimePasswordExpiring", + "description": "One time passcode information\nIf there is no active passcode, this will be undefined" + } + }, + "type": "object" + } + ], + "description": "Verification status of an email address" + }, + "ApiEmailStatusResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/EmailStatusExpiring" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object", + "description": "Shows the current verification status of an email address" + }, + "UserAllowedOrganization": { + "properties": { + "membersCount": { + "type": "number", + "format": "double" + }, + "name": { + "type": "string" + }, + "organizationUuid": { + "type": "string" + } + }, + "required": ["membersCount", "name", "organizationUuid"], + "type": "object" + }, + "ApiUserAllowedOrganizationsResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/UserAllowedOrganization" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "Pick_CreateRedshiftCredentials.type-or-user-or-password_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.REDSHIFT" + }, + "user": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": ["type", "user", "password"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_CreatePostgresCredentials.type-or-user-or-password_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.POSTGRES" + }, + "user": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": ["type", "user", "password"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_CreateSnowflakeCredentials.type-or-user-or-password_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.SNOWFLAKE" + }, + "user": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": ["type", "user"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_CreateTrinoCredentials.type-or-user-or-password_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.TRINO" + }, + "user": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": ["type", "user", "password"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_CreateBigqueryCredentials.type-or-keyfileContents_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.BIGQUERY" + }, + "keyfileContents": { + "$ref": "#/components/schemas/Record_string.string_" + } + }, + "required": ["type", "keyfileContents"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_CreateDatabricksCredentials.type-or-personalAccessToken_": { + "properties": { + "type": { + "$ref": "#/components/schemas/WarehouseTypes.DATABRICKS" + }, + "personalAccessToken": { + "type": "string" + } + }, + "required": ["type", "personalAccessToken"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "UpsertUserWarehouseCredentials": { + "properties": { + "credentials": { + "anyOf": [ + { + "$ref": "#/components/schemas/Pick_CreateRedshiftCredentials.type-or-user-or-password_" + }, + { + "$ref": "#/components/schemas/Pick_CreatePostgresCredentials.type-or-user-or-password_" + }, + { + "$ref": "#/components/schemas/Pick_CreateSnowflakeCredentials.type-or-user-or-password_" + }, + { + "$ref": "#/components/schemas/Pick_CreateTrinoCredentials.type-or-user-or-password_" + }, + { + "$ref": "#/components/schemas/Pick_CreateBigqueryCredentials.type-or-keyfileContents_" + }, + { + "$ref": "#/components/schemas/Pick_CreateDatabricksCredentials.type-or-personalAccessToken_" + } + ] + }, + "name": { + "type": "string" + } + }, + "required": ["credentials", "name"], + "type": "object" + }, + "OpenIdIdentityIssuerType": { + "enum": ["google", "okta", "oneLogin", "azuread", "oidc"], + "type": "string" + }, + "LocalIssuerTypes": { + "enum": ["email", "apiToken"], + "type": "string" + }, + "LoginOptionTypes": { + "anyOf": [ + { + "$ref": "#/components/schemas/OpenIdIdentityIssuerType" + }, + { + "$ref": "#/components/schemas/LocalIssuerTypes" + } + ] + }, + "LoginOptions": { + "properties": { + "redirectUri": { + "type": "string" + }, + "forceRedirect": { + "type": "boolean" + }, + "showOptions": { + "items": { + "$ref": "#/components/schemas/LoginOptionTypes" + }, + "type": "array" + } + }, + "required": ["showOptions"], + "type": "object" + }, + "ApiGetLoginOptionsResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/LoginOptions" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "PersonalAccessToken": { + "properties": { + "description": { + "type": "string" + }, + "expiresAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "rotatedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastUsedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "uuid": { + "type": "string" + } + }, + "required": [ + "description", + "expiresAt", + "rotatedAt", + "lastUsedAt", + "createdAt", + "uuid" + ], + "type": "object" + }, + "PersonalAccessTokenWithToken": { + "allOf": [ + { + "$ref": "#/components/schemas/PersonalAccessToken" + }, + { + "properties": { + "token": { + "type": "string" + } + }, + "required": ["token"], + "type": "object" + } + ] + }, + "ContentType.CHART": { + "enum": ["chart"], + "type": "string" + }, + "ContentType": { + "enum": ["chart", "dashboard"], + "type": "string" + }, + "ChartContent": { + "properties": { + "contentType": { + "$ref": "#/components/schemas/ContentType.CHART" + }, + "uuid": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "properties": { + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["lastName", "firstName", "uuid"], + "type": "object", + "nullable": true + }, + "lastUpdatedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastUpdatedBy": { + "properties": { + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["lastName", "firstName", "uuid"], + "type": "object", + "nullable": true + }, + "project": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object" + }, + "organization": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object" + }, + "space": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object" + }, + "pinnedList": { + "properties": { + "uuid": { + "type": "string" + } + }, + "required": ["uuid"], + "type": "object", + "nullable": true + }, + "views": { + "type": "number", + "format": "double" + }, + "firstViewedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "source": { + "$ref": "#/components/schemas/ChartSourceType" + }, + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "dashboard": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object", + "nullable": true + } + }, + "required": [ + "contentType", + "uuid", + "slug", + "name", + "description", + "createdAt", + "createdBy", + "lastUpdatedAt", + "lastUpdatedBy", + "project", + "organization", + "space", + "pinnedList", + "views", + "firstViewedAt", + "source", + "chartKind", + "dashboard" + ], + "type": "object", + "additionalProperties": true + }, + "ContentType.DASHBOARD": { + "enum": ["dashboard"], + "type": "string" + }, + "DashboardContent": { + "properties": { + "contentType": { + "$ref": "#/components/schemas/ContentType.DASHBOARD" + }, + "uuid": { + "type": "string" + }, + "slug": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "properties": { + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["lastName", "firstName", "uuid"], + "type": "object", + "nullable": true + }, + "lastUpdatedAt": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "lastUpdatedBy": { + "properties": { + "lastName": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["lastName", "firstName", "uuid"], + "type": "object", + "nullable": true + }, + "project": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object" + }, + "organization": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object" + }, + "space": { + "properties": { + "name": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["name", "uuid"], + "type": "object" + }, + "pinnedList": { + "properties": { + "uuid": { + "type": "string" + } + }, + "required": ["uuid"], + "type": "object", + "nullable": true + }, + "views": { + "type": "number", + "format": "double" + }, + "firstViewedAt": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": [ + "contentType", + "uuid", + "slug", + "name", + "description", + "createdAt", + "createdBy", + "lastUpdatedAt", + "lastUpdatedBy", + "project", + "organization", + "space", + "pinnedList", + "views", + "firstViewedAt" + ], + "type": "object", + "additionalProperties": true + }, + "SummaryContent": { + "anyOf": [ + { + "$ref": "#/components/schemas/ChartContent" + }, + { + "$ref": "#/components/schemas/DashboardContent" + } + ] + }, + "KnexPaginatedData_SummaryContent-Array_": { + "properties": { + "pagination": { + "allOf": [ + { + "$ref": "#/components/schemas/KnexPaginateArgs" + }, + { + "properties": { + "totalResults": { + "type": "number", + "format": "double" + }, + "totalPageCount": { + "type": "number", + "format": "double" + } + }, + "required": ["totalResults", "totalPageCount"], + "type": "object" + } + ] + }, + "data": { + "items": { + "$ref": "#/components/schemas/SummaryContent" + }, + "type": "array" + } + }, + "required": ["data"], + "type": "object" + }, + "ApiContentResponse": { + "properties": { + "results": { + "$ref": "#/components/schemas/KnexPaginatedData_SummaryContent-Array_" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "SemanticLayerClientInfo": { + "properties": { + "name": { + "type": "string" + }, + "features": { + "properties": { + "views": { + "type": "boolean" + } + }, + "required": ["views"], + "type": "object" + }, + "config": { + "properties": { + "maxQueryLimit": { + "type": "number", + "format": "double" + } + }, + "required": ["maxQueryLimit"], + "type": "object" + } + }, + "required": ["name", "features", "config"], + "type": "object", + "additionalProperties": true + }, + "ApiSemanticLayerClientInfo": { + "properties": { + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + }, + "results": { + "allOf": [ + { + "$ref": "#/components/schemas/SemanticLayerClientInfo" + } + ], + "nullable": true + } + }, + "required": ["status", "results"], + "type": "object", + "additionalProperties": true + }, + "SemanticLayerView": { + "properties": { + "visible": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": ["visible", "label", "name"], + "type": "object" + }, + "SemanticLayerFieldType": { + "enum": ["time", "number", "string", "boolean"], + "type": "string" + }, + "SemanticLayerTimeGranularity": { + "enum": [ + "NANOSECOND", + "MICROSECOND", + "MILLISECOND", + "SECOND", + "MINUTE", + "HOUR", + "DAY", + "WEEK", + "MONTH", + "QUARTER", + "YEAR" + ], + "type": "string" + }, + "SemanticLayerFilterBaseOperator": { + "enum": ["IS", "IS_NOT"], + "type": "string" + }, + "SemanticLayerField": { + "properties": { + "availableOperators": { + "items": { + "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" + }, + "type": "array" + }, + "availableGranularities": { + "items": { + "$ref": "#/components/schemas/SemanticLayerTimeGranularity" + }, + "type": "array" + }, + "aggType": { + "$ref": "#/components/schemas/VizAggregationOptions" + }, + "visible": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/FieldType" + }, + "type": { + "$ref": "#/components/schemas/SemanticLayerFieldType" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "availableOperators", + "availableGranularities", + "visible", + "kind", + "type", + "label", + "name" + ], + "type": "object" + }, + "Pick_SemanticLayerField.name_": { + "properties": { + "name": { + "type": "string" + } + }, + "required": ["name"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_SemanticLayerTimeDimension.name-or-granularity_": { + "properties": { + "name": { + "type": "string" + }, + "granularity": { + "$ref": "#/components/schemas/SemanticLayerTimeGranularity" + } + }, + "required": ["name"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_SemanticLayerQuery.dimensions-or-timeDimensions-or-metrics_": { + "properties": { + "dimensions": { + "items": { + "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + }, + "type": "array" + }, + "timeDimensions": { + "items": { + "$ref": "#/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_" + }, + "type": "array" + }, + "metrics": { + "items": { + "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + }, + "type": "array" + } + }, + "required": ["dimensions", "timeDimensions", "metrics"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Pick_SemanticLayerField.name-or-kind_": { + "properties": { + "name": { + "type": "string" + }, + "kind": { + "$ref": "#/components/schemas/FieldType" + } + }, + "required": ["name", "kind"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "SemanticLayerSortBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SemanticLayerField.name-or-kind_" + }, + { + "properties": { + "direction": { + "$ref": "#/components/schemas/SortByDirection" + } + }, + "required": ["direction"], + "type": "object" + } + ] + }, + "SemanticLayerPivot": { + "properties": { + "values": { + "items": { + "type": "string" + }, + "type": "array" + }, + "index": { + "items": { + "type": "string" + }, + "type": "array" + }, + "on": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": ["values", "index", "on"], + "type": "object" + }, + "SemanticLayerFilterBase": { + "properties": { + "fieldType": { + "$ref": "#/components/schemas/SemanticLayerFieldType" + }, + "fieldKind": { + "$ref": "#/components/schemas/FieldType" + }, + "fieldRef": { + "type": "string" + }, + "uuid": { + "type": "string" + } + }, + "required": ["fieldType", "fieldKind", "fieldRef", "uuid"], + "type": "object" + }, + "SemanticLayerFieldType.STRING": { + "enum": ["string"], + "type": "string" + }, + "SemanticLayerStringFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/SemanticLayerFilterBase" + }, + { + "properties": { + "values": { + "items": { + "type": "string" + }, + "type": "array" + }, + "operator": { + "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" + }, + "fieldType": { + "$ref": "#/components/schemas/SemanticLayerFieldType.STRING" + } + }, + "required": ["values", "operator", "fieldType"], + "type": "object" + } + ] + }, + "SemanticLayerFieldType.TIME": { + "enum": ["time"], + "type": "string" + }, + "SemanticLayerExactTimeFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/SemanticLayerFilterBase" + }, + { + "properties": { + "values": { + "properties": { + "time": { + "type": "string" + } + }, + "required": ["time"], + "type": "object" + }, + "operator": { + "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" + }, + "fieldType": { + "$ref": "#/components/schemas/SemanticLayerFieldType.TIME" + } + }, + "required": ["values", "operator", "fieldType"], + "type": "object" + } + ] + }, + "SemanticLayerFilterRelativeTimeValue": { + "enum": ["TODAY", "YESTERDAY", "LAST_7_DAYS", "LAST_30_DAYS"], + "type": "string" + }, + "SemanticLayerRelativeTimeFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/SemanticLayerFilterBase" + }, + { + "properties": { + "values": { + "properties": { + "relativeTime": { + "$ref": "#/components/schemas/SemanticLayerFilterRelativeTimeValue" + } + }, + "required": ["relativeTime"], + "type": "object" + }, + "operator": { + "$ref": "#/components/schemas/SemanticLayerFilterBaseOperator" + }, + "fieldType": { + "$ref": "#/components/schemas/SemanticLayerFieldType.TIME" + } + }, + "required": ["values", "operator", "fieldType"], + "type": "object" + } + ] + }, + "SemanticLayerTimeFilter": { + "anyOf": [ + { + "$ref": "#/components/schemas/SemanticLayerExactTimeFilter" + }, + { + "$ref": "#/components/schemas/SemanticLayerRelativeTimeFilter" + } + ] + }, + "SemanticLayerFilterTypes": { + "anyOf": [ + { + "$ref": "#/components/schemas/SemanticLayerStringFilter" + }, + { + "$ref": "#/components/schemas/SemanticLayerTimeFilter" + } + ] + }, + "SemanticLayerFilter": { + "allOf": [ + { + "$ref": "#/components/schemas/SemanticLayerFilterTypes" + }, + { + "properties": { + "or": { + "items": { + "$ref": "#/components/schemas/SemanticLayerFilter" + }, + "type": "array" + }, + "and": { + "items": { + "$ref": "#/components/schemas/SemanticLayerFilter" + }, + "type": "array" + } + }, + "type": "object" + } + ] + }, + "Pick_SemanticLayerField.name-or-aggType_": { + "properties": { + "name": { + "type": "string" + }, + "aggType": { + "$ref": "#/components/schemas/VizAggregationOptions" + } + }, + "required": ["name"], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "SemanticLayerQuery": { + "properties": { + "customMetrics": { + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_SemanticLayerField.name-or-aggType_" + }, + { + "properties": { + "baseDimension": { + "type": "string" + } + }, + "type": "object" + } + ] + }, + "type": "array" + }, + "sql": { + "type": "string" + }, + "filters": { + "items": { + "$ref": "#/components/schemas/SemanticLayerFilter" + }, + "type": "array" + }, + "pivot": { + "$ref": "#/components/schemas/SemanticLayerPivot" + }, + "timezone": { + "type": "string" + }, + "limit": { + "type": "number", + "format": "double" + }, + "sortBy": { + "items": { + "$ref": "#/components/schemas/SemanticLayerSortBy" + }, + "type": "array" + }, + "metrics": { + "items": { + "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + }, + "type": "array" + }, + "timeDimensions": { + "items": { + "$ref": "#/components/schemas/Pick_SemanticLayerTimeDimension.name-or-granularity_" + }, + "type": "array" + }, + "dimensions": { + "items": { + "$ref": "#/components/schemas/Pick_SemanticLayerField.name_" + }, + "type": "array" + } + }, + "required": [ + "filters", + "sortBy", + "metrics", + "timeDimensions", + "dimensions" + ], + "type": "object" + }, + "SemanticViewerChartCreateResult": { + "properties": { + "slug": { + "type": "string" + }, + "savedSemanticViewerChartUuid": { + "type": "string" + } + }, + "required": ["slug", "savedSemanticViewerChartUuid"], + "type": "object" + }, + "ApiSemanticViewerChartCreate": { + "properties": { + "results": { + "$ref": "#/components/schemas/SemanticViewerChartCreateResult" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "SemanticViewerChartCreate": { + "properties": { + "spaceUuid": { + "type": "string" + }, + "config": { + "$ref": "#/components/schemas/AllVizChartConfig" + }, + "semanticLayerQuery": { + "$ref": "#/components/schemas/SemanticLayerQuery" + }, + "semanticLayerView": { + "type": "string", + "nullable": true + }, + "description": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string" + } + }, + "required": [ + "spaceUuid", + "config", + "semanticLayerQuery", + "semanticLayerView", + "description", + "name" + ], + "type": "object" + }, + "SavedSemanticViewerChart": { + "properties": { + "lastViewedAt": { + "type": "string", + "format": "date-time" + }, + "firstViewedAt": { + "type": "string", + "format": "date-time" + }, + "views": { + "type": "number", + "format": "double" + }, + "organization": { + "$ref": "#/components/schemas/Pick_Organization.organizationUuid_" + }, + "project": { + "$ref": "#/components/schemas/Pick_Project.projectUuid_" + }, + "dashboard": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_Dashboard.uuid-or-name_" + } + ], + "nullable": true + }, + "space": { + "$ref": "#/components/schemas/Pick_SpaceSummary.uuid-or-name-or-isPrivate-or-userAccess_" + }, + "lastUpdatedBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + } + ], + "nullable": true + }, + "lastUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "allOf": [ + { + "$ref": "#/components/schemas/Pick_LightdashUser.userUuid-or-firstName-or-lastName_" + } + ], + "nullable": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "semanticLayerQuery": { + "$ref": "#/components/schemas/SemanticLayerQuery" + }, + "semanticLayerView": { + "type": "string", + "nullable": true + }, + "config": { + "$ref": "#/components/schemas/AllVizChartConfig" + }, + "slug": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string" + }, + "savedSemanticViewerChartUuid": { + "type": "string" + } + }, + "required": [ + "lastViewedAt", + "firstViewedAt", + "views", + "organization", + "project", + "dashboard", + "space", + "lastUpdatedBy", + "lastUpdatedAt", + "createdBy", + "createdAt", + "chartKind", + "semanticLayerQuery", + "semanticLayerView", + "config", + "slug", + "description", + "name", + "savedSemanticViewerChartUuid" + ], + "type": "object" + }, + "ApiSemanticViewerChartGet": { + "properties": { + "results": { + "$ref": "#/components/schemas/SavedSemanticViewerChart" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "SemanticViewerChartUpdateResult": { + "properties": { + "savedSemanticViewerChartVersionUuid": { + "type": "string", + "nullable": true + }, + "savedSemanticViewerChartUuid": { + "type": "string" + } + }, + "required": [ + "savedSemanticViewerChartVersionUuid", + "savedSemanticViewerChartUuid" + ], + "type": "object" + }, + "ApiSemanticViewerChartUpdate": { + "properties": { + "results": { + "$ref": "#/components/schemas/SemanticViewerChartUpdateResult" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "SemanticViewerChartUpdate": { + "properties": { + "versionedData": { + "properties": { + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "config": { + "$ref": "#/components/schemas/AllVizChartConfig" + }, + "semanticLayerQuery": { + "$ref": "#/components/schemas/SemanticLayerQuery" + }, + "semanticLayerView": { + "type": "string", + "nullable": true + } + }, + "required": [ + "chartKind", + "config", + "semanticLayerQuery", + "semanticLayerView" + ], + "type": "object" + }, + "unversionedData": { + "properties": { + "spaceUuid": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "name": { + "type": "string" + } + }, + "required": ["spaceUuid", "description", "name"], + "type": "object" + } + }, + "type": "object" + }, + "ValidationTarget": { + "enum": ["charts", "dashboards", "tables"], + "type": "string" + }, + "ValidationErrorType": { + "enum": [ + "chart", + "sorting", + "filter", + "metric", + "model", + "dimension", + "custom metric" + ], + "type": "string" + }, + "ValidationSourceType": { + "enum": ["chart", "dashboard", "table"], + "type": "string" + }, + "ValidationResponseBase": { + "properties": { + "source": { + "$ref": "#/components/schemas/ValidationSourceType" + }, + "spaceUuid": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "errorType": { + "$ref": "#/components/schemas/ValidationErrorType" + }, + "error": { + "type": "string" + }, + "name": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "validationId": { + "type": "number", + "format": "double" + } + }, + "required": [ + "projectUuid", + "errorType", + "error", + "name", + "createdAt", + "validationId" + ], + "type": "object" + }, + "ValidationErrorChartResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/ValidationResponseBase" + }, + { + "properties": { + "chartName": { + "type": "string" + }, + "chartViews": { + "type": "number", + "format": "double" + }, + "lastUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedBy": { + "type": "string" + }, + "fieldName": { + "type": "string" + }, + "chartKind": { + "$ref": "#/components/schemas/ChartKind" + }, + "chartUuid": { + "type": "string" + } + }, + "required": ["chartViews"], + "type": "object" + } + ] + }, + "ValidationErrorDashboardResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/ValidationResponseBase" + }, + { + "properties": { + "dashboardViews": { + "type": "number", + "format": "double" + }, + "lastUpdatedAt": { + "type": "string", + "format": "date-time" + }, + "lastUpdatedBy": { + "type": "string" + }, + "fieldName": { + "type": "string" + }, + "chartName": { + "type": "string" + }, + "dashboardUuid": { + "type": "string" + } + }, + "required": ["dashboardViews"], + "type": "object" + } + ] + }, + "Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__": { + "properties": { + "spaceUuid": { + "type": "string" + }, + "projectUuid": { + "type": "string" + }, + "validationId": { + "type": "number", + "format": "double" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "error": { + "type": "string" + }, + "errorType": { + "$ref": "#/components/schemas/ValidationErrorType" + }, + "source": { + "$ref": "#/components/schemas/ValidationSourceType" + } + }, + "required": [ + "projectUuid", + "validationId", + "createdAt", + "error", + "errorType" + ], + "type": "object", + "description": "From T, pick a set of properties whose keys are in the union K" + }, + "Omit_ValidationResponseBase.name_": { + "$ref": "#/components/schemas/Pick_ValidationResponseBase.Exclude_keyofValidationResponseBase.name__", + "description": "Construct a type with the properties of T except for those in type K." + }, + "ValidationErrorTableResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/Omit_ValidationResponseBase.name_" + }, + { + "properties": { + "name": { + "type": "string" + } + }, + "type": "object" + } + ] + }, + "ValidationResponse": { + "anyOf": [ + { + "$ref": "#/components/schemas/ValidationErrorChartResponse" + }, + { + "$ref": "#/components/schemas/ValidationErrorDashboardResponse" + }, + { + "$ref": "#/components/schemas/ValidationErrorTableResponse" + } + ] + }, + "ApiValidateResponse": { + "properties": { + "results": { + "items": { + "$ref": "#/components/schemas/ValidationResponse" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + }, + "ApiValidationDismissResponse": { + "properties": { + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["status"], + "type": "object" + } + }, + "securitySchemes": { + "session_cookie": { + "type": "apiKey", + "in": "cookie", + "name": "connect.sid" + }, + "api_key": { + "type": "apiKey", + "in": "header", + "name": "Authorization", + "description": "Value should be 'ApiKey '" + } + } + }, + "info": { + "title": "Lightdash API", + "version": "0.1398.0", + "description": "Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens\n", + "license": { + "name": "MIT" + }, + "contact": { + "name": "Lightdash Support", + "email": "support@lightdash.com", + "url": "https://docs.lightdash.com/help-and-contact/contact/contact_info/" + } + }, + "openapi": "3.0.0", + "paths": { + "/api/v1/projects/{projectUuid}/dataCatalog": { + "get": { + "operationId": "getCatalog", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiCatalogResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get catalog items", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "search", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "type", + "required": false, + "schema": { + "$ref": "#/components/schemas/CatalogType" + } + }, + { + "in": "query", + "name": "filter", + "required": false, + "schema": { + "$ref": "#/components/schemas/CatalogFilter" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{table}/metadata": { + "get": { + "operationId": "getMetadata", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiCatalogMetadataResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get catalog metadata for tables", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Table name to get metadata for", + "in": "path", + "name": "table", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics": { + "get": { + "operationId": "getAnalytics", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiCatalogAnalyticsResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get catalog analytics for tables", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Table name to get analytics for", + "in": "path", + "name": "table", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics/{field}": { + "get": { + "operationId": "getAnalyticsField", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiCatalogAnalyticsResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get catalog analytics for fields", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Table where this field belongs", + "in": "path", + "name": "table", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "Field name to get analytics for", + "in": "path", + "name": "field", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics": { + "get": { + "operationId": "getMetricsCatalog", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiMetricsCatalog" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get metrics catalog", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "search", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "page", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "sort", + "required": false, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "order", + "required": false, + "schema": { + "$ref": "#/components/schemas/ApiSortDirection" + } + }, + { + "in": "query", + "name": "categories", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/{tableName}/{metricName}": { + "get": { + "operationId": "getMetric", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiGetMetricPeek" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get metric by table and metric name", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "tableName", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "metricName", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics-with-time-dimensions": { + "get": { + "operationId": "getMetricsWithTimeDimensions", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiMetricsWithAssociatedTimeDimensionResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get metrics with time dimensions", + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories": { + "post": { + "operationId": "addCategoryToCatalogItem", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "tagUuid": { + "type": "string" + } + }, + "required": ["tagUuid"], + "type": "object" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/categories/{tagUuid}": { + "delete": { + "operationId": "removeCategoryFromCatalogItem", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": {}, + "status": { + "type": "string" + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "tagUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/{catalogSearchUuid}/icon": { + "patch": { + "operationId": "updateCatalogItemIcon", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "catalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "icon": { + "allOf": [ + { + "$ref": "#/components/schemas/CatalogItemIcon" + } + ], + "nullable": true + } + }, + "required": ["icon"], + "type": "object" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree": { + "get": { + "operationId": "getMetricsTree", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiGetMetricsTree" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "query", + "name": "metricUuids", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges": { + "post": { + "operationId": "createMetricsTreeEdge", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiMetricsTreeEdgePayload" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/dataCatalog/metrics/tree/edges/{sourceCatalogSearchUuid}/{targetCatalogSearchUuid}": { + "delete": { + "operationId": "deleteMetricsTreeEdge", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Catalog"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "sourceCatalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "targetCatalogSearchUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/comments/dashboards/{dashboardUuid}/{dashboardTileUuid}": { + "post": { + "operationId": "createComment", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiCreateComment" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Creates a comment on a dashboard tile", + "tags": ["Comments"], + "security": [], + "parameters": [ + { + "description": "the uuid of the dashboard", + "in": "path", + "name": "dashboardUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the uuid of the dashboard tile", + "in": "path", + "name": "dashboardTileUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "description": "the comment to create", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_", + "description": "the comment to create" + } + } + } + } + } + }, + "/api/v1/comments/dashboards/{dashboardUuid}": { + "get": { + "operationId": "getComments", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiGetComments" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Gets all comments for a dashboard", + "tags": ["Comments"], + "security": [], + "parameters": [ + { + "description": "the uuid of the dashboard", + "in": "path", + "name": "dashboardUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/comments/dashboards/{dashboardUuid}/{commentId}": { + "patch": { + "operationId": "resolveComment", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResolveComment" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Resolves a comment on a dashboard", + "tags": ["Comments"], + "security": [], + "parameters": [ + { + "description": "the uuid of the dashboard", + "in": "path", + "name": "dashboardUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the uuid of the comment", + "in": "path", + "name": "commentId", + "required": true, + "schema": { + "type": "string" + } + } + ] + }, + "delete": { + "operationId": "deleteComment", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiResolveComment" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Deletes a comment on a dashboard", + "tags": ["Comments"], + "security": [], + "parameters": [ + { + "description": "the uuid of the dashboard", + "in": "path", + "name": "dashboardUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the uuid of the comment", + "in": "path", + "name": "commentId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/csv/{jobId}": { + "get": { + "operationId": "getCsvUrl", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiCsvUrlResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get a Csv", + "tags": ["Exports"], + "security": [], + "parameters": [ + { + "description": "the jobId for the CSV", + "in": "path", + "name": "jobId", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/dashboards/{dashboardUuid}/promote": { + "post": { + "operationId": "promoteDashboard", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiPromoteDashboardResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Promote dashboard to its upstream project", + "tags": ["Dashboards"], + "security": [], + "parameters": [ + { + "description": "dashboardUuid for the dashboard to run", + "in": "path", + "name": "dashboardUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/dashboards/{dashboardUuid}/promoteDiff": { + "get": { + "operationId": "promoteDashboardDiff", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiPromotionChangesResponse" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Get diff from dashboard to promote", + "tags": ["Dashboards"], + "security": [], + "parameters": [ + { + "description": "dashboardUuid for the dashboard to check diff", + "in": "path", + "name": "dashboardUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "securitySchemes": { - "session_cookie": { - "type": "apiKey", - "in": "cookie", - "name": "connect.sid" + "/api/v1/projects/{projectUuid}/explores": { + "put": { + "operationId": "SetExplores", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Projects"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "items": {}, + "type": "array" + } + } + } + } }, - "api_key": { - "type": "apiKey", - "in": "header", - "name": "Authorization", - "description": "Value should be 'ApiKey '" + "get": { + "operationId": "GetExplores", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiExploresResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Projects"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } - } - }, - "info": { - "title": "Lightdash API", - "version": "0.1286.0", - "description": "Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens\n", - "license": { - "name": "MIT" }, - "contact": { - "name": "Lightdash Support", - "email": "support@lightdash.com", - "url": "https://docs.lightdash.com/help-and-contact/contact/contact_info/" - } - }, - "openapi": "3.0.0", - "paths": { - "/api/v1/projects/{projectUuid}/dataCatalog": { + "/api/v1/projects/{projectUuid}/explores/{exploreId}": { "get": { - "operationId": "getCatalog", + "operationId": "GetExplore", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiExploreResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Projects"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "exploreId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + } + }, + "/api/v1/projects/{projectUuid}/explores/{exploreId}/compileQuery": { + "post": { + "operationId": "CompileQuery", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/ApiCompiledQueryResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "tags": ["Projects"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "exploreId", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/MetricQuery" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/explores/{exploreId}/downloadCsv": { + "post": { + "operationId": "DownloadCsvFromExplore", "responses": { "200": { "description": "Success", @@ -10159,7 +13425,13 @@ "schema": { "properties": { "results": { - "$ref": "#/components/schemas/ApiCatalogResults" + "properties": { + "jobId": { + "type": "string" + } + }, + "required": ["jobId"], + "type": "object" }, "status": { "type": "string", @@ -10184,10 +13456,17 @@ } } }, - "description": "Get catalog items", - "tags": ["Catalog"], + "tags": ["Projects"], "security": [], "parameters": [ + { + "in": "path", + "name": "exploreId", + "required": true, + "schema": { + "type": "string" + } + }, { "in": "path", "name": "projectUuid", @@ -10195,46 +13474,170 @@ "schema": { "type": "string" } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/MetricQuery" + }, + { + "properties": { + "pivotColumns": { + "items": { + "type": "string" + }, + "type": "array" + }, + "chartName": { + "type": "string" + }, + "hiddenFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "columnOrder": { + "items": { + "type": "string" + }, + "type": "array" + }, + "customLabels": { + "properties": {}, + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "showTableNames": { + "type": "boolean" + }, + "csvLimit": { + "type": "number", + "format": "double", + "nullable": true + }, + "onlyRaw": { + "type": "boolean" + } + }, + "required": [ + "columnOrder", + "showTableNames", + "onlyRaw" + ], + "type": "object" + } + ] + } + } + } + } + } + }, + "/api/v1/github/install": { + "get": { + "operationId": "installGithubAppForOrganization", + "responses": { + "302": { + "description": "Not found" + } + }, + "description": "Install the Lightdash GitHub App and link to an organization", + "security": [], + "parameters": [] + } + }, + "/api/v1/github/oauth/callback": { + "get": { + "operationId": "githubOauthCallback", + "responses": { + "204": { + "description": "No content" + } + }, + "description": "Callback URL for GitHub App Authorization also used for GitHub App Installation with combined Authorization", + "security": [], + "parameters": [ + { + "description": "authorization code from GitHub", + "in": "query", + "name": "code", + "required": false, + "schema": { + "type": "string" + } }, { + "description": "oauth state parameter", "in": "query", - "name": "search", + "name": "state", "required": false, "schema": { "type": "string" } }, { + "description": "installation id from GitHub", "in": "query", - "name": "type", + "name": "installation_id", "required": false, "schema": { - "$ref": "#/components/schemas/CatalogType" + "type": "string" } }, { + "description": "setup action from GitHub", "in": "query", - "name": "filter", + "name": "setup_action", "required": false, "schema": { - "$ref": "#/components/schemas/CatalogFilter" + "type": "string" } } ] } }, - "/api/v1/projects/{projectUuid}/dataCatalog/{table}/metadata": { + "/api/v1/github/uninstall": { + "delete": { + "operationId": "uninstallGithubAppForOrganization", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + } + }, + "security": [], + "parameters": [] + } + }, + "/api/v1/github/repos/list": { "get": { - "operationId": "getMetadata", + "operationId": "getGithubListRepositories", "responses": { "200": { - "description": "Success", + "description": "", "content": { "application/json": { "schema": { "properties": { "results": { - "$ref": "#/components/schemas/ApiCatalogMetadataResults" + "items": { + "$ref": "#/components/schemas/GitRepo" + }, + "type": "array" }, "status": { "type": "string", @@ -10247,45 +13650,15 @@ } } } - }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } - } } }, - "description": "Get catalog metadata for tables", - "tags": ["Catalog"], "security": [], - "parameters": [ - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Table name to get metadata for", - "in": "path", - "name": "table", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics": { + "/api/v1/projects/{projectUuid}/git-integration": { "get": { - "operationId": "getAnalytics", + "operationId": "GetConfiguration", "responses": { "200": { "description": "Success", @@ -10294,7 +13667,7 @@ "schema": { "properties": { "results": { - "$ref": "#/components/schemas/ApiCatalogAnalyticsResults" + "$ref": "#/components/schemas/GitIntegrationConfiguration" }, "status": { "type": "string", @@ -10319,8 +13692,7 @@ } } }, - "description": "Get catalog analytics for tables", - "tags": ["Catalog"], + "tags": ["Git Integration"], "security": [], "parameters": [ { @@ -10330,22 +13702,13 @@ "schema": { "type": "string" } - }, - { - "description": "Table name to get analytics for", - "in": "path", - "name": "table", - "required": true, - "schema": { - "type": "string" - } } ] } }, - "/api/v1/projects/{projectUuid}/dataCatalog/{table}/analytics/{field}": { + "/api/v1/projects/{projectUuid}/git-integration/pull-requests/chart/{chartUuid}/fields": { "get": { - "operationId": "getAnalyticsField", + "operationId": "CreatePullRequestForChartFields", "responses": { "200": { "description": "Success", @@ -10354,7 +13717,7 @@ "schema": { "properties": { "results": { - "$ref": "#/components/schemas/ApiCatalogAnalyticsResults" + "$ref": "#/components/schemas/PullRequestCreated" }, "status": { "type": "string", @@ -10379,8 +13742,7 @@ } } }, - "description": "Get catalog analytics for fields", - "tags": ["Catalog"], + "tags": ["Git Integration"], "security": [], "parameters": [ { @@ -10392,18 +13754,8 @@ } }, { - "description": "Table where this field belongs", - "in": "path", - "name": "table", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "Field name to get analytics for", "in": "path", - "name": "field", + "name": "chartUuid", "required": true, "schema": { "type": "string" @@ -10412,16 +13764,27 @@ ] } }, - "/api/v1/comments/dashboards/{dashboardUuid}/{dashboardTileUuid}": { + "/api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-metrics": { "post": { - "operationId": "createComment", + "operationId": "CreatePullRequestForCustomMetrics", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCreateComment" + "properties": { + "results": { + "$ref": "#/components/schemas/PullRequestCreated" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" } } } @@ -10437,23 +13800,12 @@ } } }, - "description": "Creates a comment on a dashboard tile", - "tags": ["Comments"], + "tags": ["Git Integration"], "security": [], "parameters": [ { - "description": "the uuid of the dashboard", - "in": "path", - "name": "dashboardUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "the uuid of the dashboard tile", "in": "path", - "name": "dashboardTileUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -10461,29 +13813,40 @@ } ], "requestBody": { - "description": "the comment to create", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Pick_Comment.text-or-replyTo-or-mentions-or-textHtml_", - "description": "the comment to create" + "properties": { + "quoteChar": { + "type": "string", + "enum": ["\"", "'"] + }, + "customMetrics": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": ["quoteChar", "customMetrics"], + "type": "object" } } } } } }, - "/api/v1/comments/dashboards/{dashboardUuid}": { + "/api/v1/gdrive/get-access-token": { "get": { - "operationId": "getComments", + "operationId": "getAccessToken", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetComments" + "$ref": "#/components/schemas/ApiGdriveAccessTokenResponse" } } } @@ -10499,32 +13862,22 @@ } } }, - "description": "Gets all comments for a dashboard", - "tags": ["Comments"], + "description": "Get access token for google drive", + "tags": ["Integrations"], "security": [], - "parameters": [ - { - "description": "the uuid of the dashboard", - "in": "path", - "name": "dashboardUuid", - "required": true, - "schema": { - "type": "string" - } - } - ] + "parameters": [] } }, - "/api/v1/comments/dashboards/{dashboardUuid}/{commentId}": { - "patch": { - "operationId": "resolveComment", + "/api/v1/gdrive/upload-gsheet": { + "post": { + "operationId": "uploadGsheet", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiResolveComment" + "$ref": "#/components/schemas/ApiJobScheduledResponse" } } } @@ -10540,39 +13893,32 @@ } } }, - "description": "Resolves a comment on a dashboard", - "tags": ["Comments"], + "description": "Upload results from query to Google Sheet", + "tags": ["Integrations"], "security": [], - "parameters": [ - { - "description": "the uuid of the dashboard", - "in": "path", - "name": "dashboardUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "the uuid of the comment", - "in": "path", - "name": "commentId", - "required": true, - "schema": { - "type": "string" + "parameters": [], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UploadMetricGsheet" + } } } - ] - }, - "delete": { - "operationId": "deleteComment", + } + } + }, + "/api/v1/groups/{groupUuid}": { + "get": { + "operationId": "getGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiResolveComment" + "$ref": "#/components/schemas/ApiGroupResponse" } } } @@ -10588,82 +13934,50 @@ } } }, - "description": "Deletes a comment on a dashboard", - "tags": ["Comments"], + "description": "Get group details", + "tags": ["User Groups"], "security": [], "parameters": [ { - "description": "the uuid of the dashboard", + "description": "unique id of the group", "in": "path", - "name": "dashboardUuid", + "name": "groupUuid", "required": true, "schema": { "type": "string" } }, { - "description": "the uuid of the comment", - "in": "path", - "name": "commentId", - "required": true, + "description": "number of members to include", + "in": "query", + "name": "includeMembers", + "required": false, "schema": { - "type": "string" - } - } - ] - } - }, - "/api/v1/csv/{jobId}": { - "get": { - "operationId": "getCsvUrl", - "responses": { - "200": { - "description": "Success", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiCsvUrlResponse" - } - } + "format": "double", + "type": "number" } }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } - } - } - }, - "description": "Get a Csv", - "tags": ["Exports"], - "security": [], - "parameters": [ { - "description": "the jobId for the CSV", - "in": "path", - "name": "jobId", - "required": true, + "description": "offset of members to include", + "in": "query", + "name": "offset", + "required": false, "schema": { - "type": "string" + "format": "double", + "type": "number" } } ] - } - }, - "/api/v1/dashboards/{dashboardUuid}/promote": { - "post": { - "operationId": "promoteDashboard", + }, + "delete": { + "operationId": "deleteGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPromoteDashboardResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -10679,32 +13993,29 @@ } } }, - "description": "Promote dashboard to its upstream project", - "tags": ["Dashboards"], + "description": "Delete a group", + "tags": ["User Groups"], "security": [], "parameters": [ { - "description": "dashboardUuid for the dashboard to run", "in": "path", - "name": "dashboardUuid", + "name": "groupUuid", "required": true, "schema": { "type": "string" } } ] - } - }, - "/api/v1/dashboards/{dashboardUuid}/promoteDiff": { - "get": { - "operationId": "promoteDashboardDiff", + }, + "patch": { + "operationId": "updateGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPromotionChangesResponse" + "$ref": "#/components/schemas/ApiGroupResponse" } } } @@ -10720,28 +14031,37 @@ } } }, - "description": "Get diff from dashboard to promote", - "tags": ["Dashboards"], + "description": "Update a group", + "tags": ["User Groups"], "security": [], "parameters": [ { - "description": "dashboardUuid for the dashboard to check diff", "in": "path", - "name": "dashboardUuid", + "name": "groupUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateGroupWithMembers" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/explores": { + "/api/v1/groups/{groupUuid}/members/{userUuid}": { "put": { - "operationId": "SetExplores", + "operationId": "addUserToGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { @@ -10761,50 +14081,39 @@ } } }, - "tags": ["Projects"], + "description": "Add a Lightdash user to a group", + "tags": ["User Groups"], "security": [], "parameters": [ { + "description": "the UUID for the group to add the user to", "in": "path", - "name": "projectUuid", + "name": "groupUuid", "required": true, "schema": { "type": "string" } - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "items": {}, - "type": "array" - } + }, + { + "description": "the UUID for the user to add to the group", + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" } } - } + ] }, - "get": { - "operationId": "GetExplores", + "delete": { + "operationId": "removeUserFromGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiExploresResults" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -10820,12 +14129,23 @@ } } }, - "tags": ["Projects"], + "description": "Remove a user from a group", + "tags": ["User Groups"], "security": [], "parameters": [ { + "description": "the UUID for the group to remove the user from", "in": "path", - "name": "projectUuid", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the UUID for the user to remove from the group", + "in": "path", + "name": "userUuid", "required": true, "schema": { "type": "string" @@ -10834,27 +14154,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}": { + "/api/v1/groups/{groupUuid}/members": { "get": { - "operationId": "GetExplore", + "operationId": "getGroupMembers", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiExploreResults" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiGroupMembersResponse" } } } @@ -10870,20 +14179,14 @@ } } }, - "tags": ["Projects"], + "description": "View members of a group", + "tags": ["User Groups"], "security": [], "parameters": [ { + "description": "the UUID for the group to view the members of", "in": "path", - "name": "exploreId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "projectUuid", + "name": "groupUuid", "required": true, "schema": { "type": "string" @@ -10892,27 +14195,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}/compileQuery": { + "/api/v1/groups/{groupUuid}/projects/{projectUuid}": { "post": { - "operationId": "CompileQuery", + "operationId": "addProjectAccessToGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiCompiledQueryResults" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiCreateProjectGroupAccess" } } } @@ -10928,12 +14220,13 @@ } } }, - "tags": ["Projects"], + "description": "Add project access to a group", + "tags": ["User Groups"], "security": [], "parameters": [ { "in": "path", - "name": "exploreId", + "name": "groupUuid", "required": true, "schema": { "type": "string" @@ -10953,40 +14246,21 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MetricQuery" + "$ref": "#/components/schemas/Pick_CreateDBProjectGroupAccess.role_" } } } } - } - }, - "/api/v1/projects/{projectUuid}/explores/{exploreId}/downloadCsv": { - "post": { - "operationId": "DownloadCsvFromExplore", + }, + "patch": { + "operationId": "updateProjectAccessForGroup", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "properties": { - "jobId": { - "type": "string" - } - }, - "required": ["jobId"], - "type": "object" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiUpdateProjectGroupAccess" } } } @@ -11002,12 +14276,13 @@ } } }, - "tags": ["Projects"], + "description": "Update project access for a group", + "tags": ["User Groups"], "security": [], "parameters": [ { "in": "path", - "name": "exploreId", + "name": "groupUuid", "required": true, "schema": { "type": "string" @@ -11027,196 +14302,203 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/MetricQuery" - }, - { - "properties": { - "chartName": { - "type": "string" - }, - "hiddenFields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "columnOrder": { - "items": { - "type": "string" - }, - "type": "array" - }, - "customLabels": { - "properties": {}, - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "showTableNames": { - "type": "boolean" - }, - "csvLimit": { - "type": "number", - "format": "double", - "nullable": true - }, - "onlyRaw": { - "type": "boolean" - } - }, - "required": [ - "columnOrder", - "showTableNames", - "onlyRaw" - ], - "type": "object" - } - ] + "$ref": "#/components/schemas/UpdateDBProjectGroupAccess" } } } } - } - }, - "/api/v1/github/install": { - "get": { - "operationId": "installGithubAppForOrganization", + }, + "delete": { + "operationId": "removeProjectAccessFromGroup", "responses": { - "302": { - "description": "Not found" + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } } }, - "description": "Install the Lightdash GitHub App and link to an organization", + "description": "Remove project access from a group", + "tags": ["User Groups"], "security": [], - "parameters": [] + "parameters": [ + { + "in": "path", + "name": "groupUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/api/v1/github/oauth/callback": { - "get": { - "operationId": "githubOauthCallback", + "/api/v1/projects/{projectUuid}/metricsExplorer/{explore}/{metric}/runMetricExplorerQuery": { + "post": { + "operationId": "runMetricExplorerQuery", "responses": { - "204": { - "description": "No content" + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiMetricsExplorerQueryResults" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } } }, - "description": "Callback URL for GitHub App Authorization also used for GitHub App Installation with combined Authorization", + "description": "Run a metrics explorer query", + "tags": ["Metrics Explorer", "Metrics", "Explorer"], "security": [], "parameters": [ { - "description": "authorization code from GitHub", - "in": "query", - "name": "code", - "required": false, + "description": "The project UUID", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "The explore name", + "in": "path", + "name": "explore", + "required": true, "schema": { "type": "string" } }, { - "description": "oauth state parameter", - "in": "query", - "name": "state", - "required": false, + "description": "The metric name", + "in": "path", + "name": "metric", + "required": true, "schema": { "type": "string" } }, { - "description": "installation id from GitHub", "in": "query", - "name": "installation_id", - "required": false, + "name": "startDate", + "required": true, "schema": { "type": "string" } }, { - "description": "setup action from GitHub", "in": "query", - "name": "setup_action", - "required": false, + "name": "endDate", + "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "comparison": { + "$ref": "#/components/schemas/MetricExplorerComparisonType" + }, + "timeDimensionOverride": { + "$ref": "#/components/schemas/TimeDimensionConfig" + } + }, + "required": ["comparison"], + "type": "object" + } + } + } + } } }, - "/api/v1/github/uninstall": { - "delete": { - "operationId": "uninstallGithubAppForOrganization", + "/api/v1/notifications": { + "get": { + "operationId": "getNotifications", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGetNotifications" } } } - } - }, - "security": [], - "parameters": [] - } - }, - "/api/v1/github/repos/list": { - "get": { - "operationId": "getGithubListRepositories", - "responses": { - "200": { - "description": "", + }, + "default": { + "description": "Error", "content": { "application/json": { "schema": { - "properties": { - "results": { - "items": { - "$ref": "#/components/schemas/GitRepo" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiErrorPayload" } } } } }, + "description": "Gets notifications for a user based on the type", + "tags": ["Notifications"], "security": [], - "parameters": [] + "parameters": [ + { + "in": "query", + "name": "type", + "required": true, + "schema": { + "$ref": "#/components/schemas/ApiNotificationResourceType" + } + } + ] } }, - "/api/v1/projects/{projectUuid}/git-integration": { - "get": { - "operationId": "GetConfiguration", + "/api/v1/notifications/{notificationId}": { + "patch": { + "operationId": "updateNotification", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/GitIntegrationConfiguration" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -11232,41 +14514,42 @@ } } }, - "tags": ["Git Integration"], + "description": "Update notification", + "tags": ["Notifications"], "security": [], "parameters": [ { + "description": "the id of the notification", "in": "path", - "name": "projectUuid", + "name": "notificationId", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiNotificationUpdateParams" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/git-integration/pull-requests/chart/{chartUuid}/fields": { + "/api/v1/org": { "get": { - "operationId": "CreatePullRequestForChartFields", + "operationId": "GetMyOrganization", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/PullRequestCreated" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiOrganization" } } } @@ -11282,49 +14565,61 @@ } } }, - "tags": ["Git Integration"], + "description": "Get the current user's organization", + "tags": ["Organizations"], "security": [], - "parameters": [ - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" + "parameters": [] + }, + "put": { + "operationId": "CreateOrganization", + "responses": { + "200": { + "description": "Ok", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } } }, - { - "in": "path", - "name": "chartUuid", - "required": true, - "schema": { - "type": "string" + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } } } - ] - } - }, - "/api/v1/projects/{projectUuid}/git-integration/pull-requests/custom-metrics": { - "post": { - "operationId": "CreatePullRequestForCustomMetrics", + }, + "description": "Creates a new organization, the current user becomes the Admin of the new organization.\nThis is only available to users that are not already in an organization.", + "tags": ["Organizations"], + "security": [], + "parameters": [], + "requestBody": { + "description": "the new organization settings", + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateOrganization", + "description": "the new organization settings" + } + } + } + } + }, + "patch": { + "operationId": "UpdateMyOrganization", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/PullRequestCreated" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -11340,53 +14635,34 @@ } } }, - "tags": ["Git Integration"], + "description": "Update the current user's organization", + "tags": ["Organizations"], "security": [], - "parameters": [ - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { + "description": "the new organization settings", "required": true, "content": { - "application/json": { - "schema": { - "properties": { - "quoteChar": { - "type": "string", - "enum": ["\"", "'"] - }, - "customMetrics": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": ["quoteChar", "customMetrics"], - "type": "object" + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateOrganization", + "description": "the new organization settings" } } } } } }, - "/api/v1/gdrive/get-access-token": { - "get": { - "operationId": "getAccessToken", + "/api/v1/org/{organizationUuid}": { + "delete": { + "operationId": "DeleteMyOrganization", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGdriveAccessTokenResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -11402,22 +14678,32 @@ } } }, - "description": "Get access token for google drive", - "tags": ["Integrations"], + "description": "Deletes an organization and all users inside that organization", + "tags": ["Organizations"], "security": [], - "parameters": [] + "parameters": [ + { + "description": "the uuid of the organization to delete", + "in": "path", + "name": "organizationUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/api/v1/gdrive/upload-gsheet": { - "post": { - "operationId": "uploadGsheet", + "/api/v1/org/projects": { + "get": { + "operationId": "ListOrganizationProjects", "responses": { "200": { - "description": "Success", + "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiJobScheduledResponse" + "$ref": "#/components/schemas/ApiOrganizationProjects" } } } @@ -11433,32 +14719,22 @@ } } }, - "description": "Upload results from query to Google Sheet", - "tags": ["Integrations"], + "description": "Gets all projects of the current user's organization", + "tags": ["Organizations"], "security": [], - "parameters": [], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UploadMetricGsheet" - } - } - } - } + "parameters": [] } }, - "/api/v1/groups/{groupUuid}": { + "/api/v1/org/users": { "get": { - "operationId": "getGroup", + "operationId": "ListOrganizationMembers", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupResponse" + "$ref": "#/components/schemas/ApiOrganizationMemberProfiles" } } } @@ -11474,23 +14750,22 @@ } } }, - "description": "Get group details", - "tags": ["User Groups"], + "description": "Gets all the members of the current user's organization", + "tags": ["Organizations"], "security": [], "parameters": [ { - "description": "unique id of the group", - "in": "path", - "name": "groupUuid", - "required": true, + "in": "query", + "name": "includeGroups", + "required": false, "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "description": "number of members to include", "in": "query", - "name": "includeMembers", + "name": "pageSize", "required": false, "schema": { "format": "double", @@ -11498,26 +14773,44 @@ } }, { - "description": "offset of members to include", "in": "query", - "name": "offset", + "name": "page", "required": false, "schema": { "format": "double", "type": "number" } + }, + { + "in": "query", + "name": "searchQuery", + "required": false, + "schema": { + "type": "string" + } + }, + { + "description": "filter users who can view this project", + "in": "query", + "name": "projectUuid", + "required": false, + "schema": { + "type": "string" + } } ] - }, - "delete": { - "operationId": "deleteGroup", + } + }, + "/api/v1/org/users/{userUuid}": { + "get": { + "operationId": "GetOrganizationMemberByUuid", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiOrganizationMemberProfile" } } } @@ -11533,29 +14826,30 @@ } } }, - "description": "Delete a group", - "tags": ["User Groups"], + "description": "Get the member profile for a user in the current user's organization by uuid", + "tags": ["Organizations"], "security": [], "parameters": [ { + "description": "the uuid of the user", "in": "path", - "name": "groupUuid", + "name": "userUuid", "required": true, "schema": { - "type": "string" + "$ref": "#/components/schemas/UUID" } } ] }, "patch": { - "operationId": "updateGroup", + "operationId": "UpdateOrganizationMember", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupResponse" + "$ref": "#/components/schemas/ApiOrganizationMemberProfile" } } } @@ -11571,13 +14865,14 @@ } } }, - "description": "Update a group", - "tags": ["User Groups"], + "description": "Updates the membership profile for a user in the current user's organization", + "tags": ["Roles & Permissions", "Organizations"], "security": [], "parameters": [ { + "description": "the uuid of the user to update", "in": "path", - "name": "groupUuid", + "name": "userUuid", "required": true, "schema": { "type": "string" @@ -11585,68 +14880,22 @@ } ], "requestBody": { + "description": "the new membership profile", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateGroupWithMembers" + "$ref": "#/components/schemas/OrganizationMemberProfileUpdate", + "description": "the new membership profile" } } } } } }, - "/api/v1/groups/{groupUuid}/members/{userUuid}": { - "put": { - "operationId": "addUserToGroup", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" - } - } - } - }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } - } - } - }, - "description": "Add a Lightdash user to a group", - "tags": ["User Groups"], - "security": [], - "parameters": [ - { - "description": "the UUID for the group to add the user to", - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "the UUID for the user to add to the group", - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" - } - } - ] - }, + "/api/v1/org/user/{userUuid}": { "delete": { - "operationId": "removeUserFromGroup", + "operationId": "DeleteOrganizationMember", "responses": { "200": { "description": "Ok", @@ -11669,21 +14918,12 @@ } } }, - "description": "Remove a user from a group", - "tags": ["User Groups"], + "description": "Deletes a user from the current user's organization", + "tags": ["Organizations"], "security": [], "parameters": [ { - "description": "the UUID for the group to remove the user from", - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "description": "the UUID for the user to remove from the group", + "description": "the uuid of the user to delete", "in": "path", "name": "userUuid", "required": true, @@ -11694,16 +14934,16 @@ ] } }, - "/api/v1/groups/{groupUuid}/members": { + "/api/v1/org/allowedEmailDomains": { "get": { - "operationId": "getGroupMembers", + "operationId": "ListOrganizationEmailDomains", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupMembersResponse" + "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" } } } @@ -11719,32 +14959,20 @@ } } }, - "description": "View members of a group", - "tags": ["User Groups"], + "description": "Gets the allowed email domains for the current user's organization", + "tags": ["Organizations"], "security": [], - "parameters": [ - { - "description": "the UUID for the group to view the members of", - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - } - ] - } - }, - "/api/v1/groups/{groupUuid}/projects/{projectUuid}": { - "post": { - "operationId": "addProjectAccessToGroup", + "parameters": [] + }, + "patch": { + "operationId": "UpdateOrganizationEmailDomains", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCreateProjectGroupAccess" + "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" } } } @@ -11760,47 +14988,34 @@ } } }, - "description": "Add project access to a group", - "tags": ["User Groups"], + "description": "Updates the allowed email domains for the current user's organization", + "tags": ["Organizations"], "security": [], - "parameters": [ - { - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { + "description": "the new allowed email domains", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Pick_CreateDBProjectGroupAccess.role_" + "$ref": "#/components/schemas/UpdateAllowedEmailDomains", + "description": "the new allowed email domains" } } } } - }, - "patch": { - "operationId": "updateProjectAccessForGroup", + } + }, + "/api/v1/org/groups": { + "post": { + "operationId": "CreateGroupInOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiUpdateProjectGroupAccess" + "$ref": "#/components/schemas/ApiCreateGroupResponse" } } } @@ -11816,47 +15031,32 @@ } } }, - "description": "Update project access for a group", - "tags": ["User Groups"], + "description": "Creates a new group in the current user's organization", + "tags": ["Organizations"], "security": [], - "parameters": [ - { - "in": "path", - "name": "groupUuid", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "projectUuid", - "required": true, - "schema": { - "type": "string" - } - } - ], + "parameters": [], "requestBody": { + "description": "the new group details", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateDBProjectGroupAccess" + "$ref": "#/components/schemas/CreateGroup", + "description": "the new group details" } } } } }, - "delete": { - "operationId": "removeProjectAccessFromGroup", + "get": { + "operationId": "ListGroupsInOrganization", "responses": { "200": { "description": "Ok", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGroupListResponse" } } } @@ -11872,22 +15072,42 @@ } } }, - "description": "Remove project access from a group", - "tags": ["User Groups"], + "description": "Gets all the groups in the current user's organization", + "tags": ["Organizations"], "security": [], "parameters": [ { - "in": "path", - "name": "groupUuid", - "required": true, + "in": "query", + "name": "page", + "required": false, "schema": { - "type": "string" + "format": "double", + "type": "number" } }, { - "in": "path", - "name": "projectUuid", - "required": true, + "in": "query", + "name": "pageSize", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "description": "number of members to include", + "in": "query", + "name": "includeMembers", + "required": false, + "schema": { + "format": "double", + "type": "number" + } + }, + { + "in": "query", + "name": "searchQuery", + "required": false, "schema": { "type": "string" } @@ -11895,16 +15115,16 @@ ] } }, - "/api/v1/notifications": { + "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items": { "get": { - "operationId": "getNotifications", + "operationId": "getPinnedItems", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetNotifications" + "$ref": "#/components/schemas/ApiPinnedItems" } } } @@ -11920,31 +15140,41 @@ } } }, - "description": "Gets notifications for a user based on the type", - "tags": ["Notifications"], + "description": "Get pinned items", + "tags": ["Content"], "security": [], "parameters": [ { - "in": "query", - "name": "type", + "description": "project uuid", + "in": "path", + "name": "projectUuid", "required": true, "schema": { - "$ref": "#/components/schemas/ApiNotificationResourceType" + "type": "string" + } + }, + { + "description": "the list uuid for the pinned items", + "in": "path", + "name": "pinnedListUuid", + "required": true, + "schema": { + "type": "string" } } ] } }, - "/api/v1/notifications/{notificationId}": { + "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items/order": { "patch": { - "operationId": "updateNotification", + "operationId": "updatePinnedItemsOrder", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiPinnedItems" } } } @@ -11960,14 +15190,23 @@ } } }, - "description": "Update notification", - "tags": ["Notifications"], + "description": "Update pinned items order", + "tags": ["Content"], "security": [], "parameters": [ { - "description": "the id of the notification", + "description": "project uuid", "in": "path", - "name": "notificationId", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "description": "the list uuid for the pinned items", + "in": "path", + "name": "pinnedListUuid", "required": true, "schema": { "type": "string" @@ -11975,56 +15214,32 @@ } ], "requestBody": { + "description": "the new order of the pinned items", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiNotificationUpdateParams" + "items": { + "$ref": "#/components/schemas/UpdatePinnedItemOrder" + }, + "type": "array", + "description": "the new order of the pinned items" } } } } } }, - "/api/v1/org": { + "/api/v1/projects/{projectUuid}": { "get": { - "operationId": "GetMyOrganization", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiOrganization" - } - } - } - }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } - } - } - }, - "description": "Get the current user's organization", - "tags": ["Organizations"], - "security": [], - "parameters": [] - }, - "put": { - "operationId": "CreateOrganization", + "operationId": "GetProject", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiProjectResponse" } } } @@ -12040,32 +15255,31 @@ } } }, - "description": "Creates a new organization, the current user becomes the Admin of the new organization.\nThis is only available to users that are not already in an organization.", - "tags": ["Organizations"], + "description": "Get a project of an organiztion", + "tags": ["Projects"], "security": [], - "parameters": [], - "requestBody": { - "description": "the new organization settings", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateOrganization", - "description": "the new organization settings" - } + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" } } - } - }, - "patch": { - "operationId": "UpdateMyOrganization", + ] + } + }, + "/api/v1/projects/{projectUuid}/charts": { + "get": { + "operationId": "ListChartsInProject", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiChartListResponse" } } } @@ -12081,34 +15295,32 @@ } } }, - "description": "Update the current user's organization", - "tags": ["Organizations"], + "description": "List all charts in a project", + "tags": ["Projects"], "security": [], - "parameters": [], - "requestBody": { - "description": "the new organization settings", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UpdateOrganization", - "description": "the new organization settings" - } + "parameters": [ + { + "description": "The uuid of the project to get charts for", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" } } - } + ] } }, - "/api/v1/org/{organizationUuid}": { - "delete": { - "operationId": "DeleteMyOrganization", + "/api/v1/projects/{projectUuid}/chart-summaries": { + "get": { + "operationId": "ListChartSummariesInProject", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiChartSummaryListResponse" } } } @@ -12124,32 +15336,41 @@ } } }, - "description": "Deletes an organization and all users inside that organization", - "tags": ["Organizations"], + "description": "List all charts summaries in a project", + "tags": ["Projects"], "security": [], "parameters": [ { - "description": "the uuid of the organization to delete", + "description": "The uuid of the project to get charts for", "in": "path", - "name": "organizationUuid", + "name": "projectUuid", "required": true, "schema": { - "type": "string" + "type": "string" + } + }, + { + "description": "Whether to exclude charts that are saved in dashboards", + "in": "query", + "name": "excludeChartsSavedInDashboard", + "required": false, + "schema": { + "type": "boolean" } } ] } }, - "/api/v1/org/projects": { + "/api/v1/projects/{projectUuid}/spaces": { "get": { - "operationId": "ListOrganizationProjects", + "operationId": "ListSpacesInProject", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationProjects" + "$ref": "#/components/schemas/ApiSpaceSummaryListResponse" } } } @@ -12165,22 +15386,30 @@ } } }, - "description": "Gets all projects of the current user's organization", - "tags": ["Organizations"], + "description": "List all spaces in a project", + "tags": ["Projects"], "security": [], - "parameters": [] - } - }, - "/api/v1/org/users": { - "get": { - "operationId": "ListOrganizationMembers", + "parameters": [ + { + "description": "The uuid of the project to get spaces for", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] + }, + "post": { + "operationId": "CreateSpaceInProject", "responses": { "200": { - "description": "Ok", + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationMemberProfiles" + "$ref": "#/components/schemas/ApiSpaceResponse" } } } @@ -12196,58 +15425,42 @@ } } }, - "description": "Gets all the members of the current user's organization", - "tags": ["Organizations"], + "description": "Create a new space inside a project", + "tags": ["Roles & Permissions", "Spaces"], "security": [], "parameters": [ { - "in": "query", - "name": "includeGroups", - "required": false, - "schema": { - "format": "double", - "type": "number" - } - }, - { - "in": "query", - "name": "pageSize", - "required": false, - "schema": { - "format": "double", - "type": "number" - } - }, - { - "in": "query", - "name": "page", - "required": false, - "schema": { - "format": "double", - "type": "number" - } - }, - { - "in": "query", - "name": "searchQuery", - "required": false, + "description": "The uuid of the space's parent project", + "in": "path", + "name": "projectUuid", + "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CreateSpace" + } + } + } + } } }, - "/api/v1/org/users/{userUuid}": { + "/api/v1/projects/{projectUuid}/access": { "get": { - "operationId": "GetOrganizationMemberByUuid", + "operationId": "GetProjectAccessList", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationMemberProfile" + "$ref": "#/components/schemas/ApiProjectAccessListResponse" } } } @@ -12263,30 +15476,29 @@ } } }, - "description": "Get the member profile for a user in the current user's organization by uuid", - "tags": ["Organizations"], + "description": "Get access list for a project. This is a list of users that have been explictly granted access to the project.\nThere may be other users that have access to the project via their organization membership.", + "tags": ["Roles & Permissions", "Projects"], "security": [], "parameters": [ { - "description": "the uuid of the user", "in": "path", - "name": "userUuid", + "name": "projectUuid", "required": true, "schema": { - "$ref": "#/components/schemas/UUID" + "type": "string" } } ] }, - "patch": { - "operationId": "UpdateOrganizationMember", + "post": { + "operationId": "GrantProjectAccessToUser", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationMemberProfile" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -12302,14 +15514,13 @@ } } }, - "description": "Updates the membership profile for a user in the current user's organization", - "tags": ["Roles & Permissions", "Organizations"], + "description": "Grant a user access to a project", + "tags": ["Roles & Permissions", "Projects"], "security": [], "parameters": [ { - "description": "the uuid of the user to update", "in": "path", - "name": "userUuid", + "name": "projectUuid", "required": true, "schema": { "type": "string" @@ -12317,29 +15528,27 @@ } ], "requestBody": { - "description": "the new membership profile", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/OrganizationMemberProfileUpdate", - "description": "the new membership profile" + "$ref": "#/components/schemas/CreateProjectMember" } } } } } }, - "/api/v1/org/user/{userUuid}": { - "delete": { - "operationId": "DeleteOrganizationMember", + "/api/v1/projects/{projectUuid}/user/{userUuid}": { + "get": { + "operationId": "GetProjectMemberAccess", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiGetProjectMemberResponse" } } } @@ -12355,12 +15564,19 @@ } } }, - "description": "Deletes a user from the current user's organization", - "tags": ["Organizations"], + "description": "Get a project explicit member's access.\nThere may be users that have access to the project via their organization membership.\n\nNOTE:\nWe don't use the API on the frontend. Instead, we can call the API\nso that we make sure of the user's access to the project.", + "tags": ["Roles & Permissions", "Projects"], "security": [], "parameters": [ { - "description": "the uuid of the user to delete", + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { "in": "path", "name": "userUuid", "required": true, @@ -12371,16 +15587,16 @@ ] } }, - "/api/v1/org/allowedEmailDomains": { - "get": { - "operationId": "ListOrganizationEmailDomains", + "/api/v1/projects/{projectUuid}/access/{userUuid}": { + "patch": { + "operationId": "UpdateProjectAccessForUser", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -12396,63 +15612,47 @@ } } }, - "description": "Gets the allowed email domains for the current user's organization", - "tags": ["Organizations"], + "description": "Update a user's access to a project", + "tags": ["Roles & Permissions", "Projects"], "security": [], - "parameters": [] - }, - "patch": { - "operationId": "UpdateOrganizationEmailDomains", - "responses": { - "200": { - "description": "Ok", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiOrganizationAllowedEmailDomains" - } - } + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" } }, - "default": { - "description": "Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiErrorPayload" - } - } + { + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" } } - }, - "description": "Updates the allowed email domains for the current user's organization", - "tags": ["Organizations"], - "security": [], - "parameters": [], + ], "requestBody": { - "description": "the new allowed email domains", "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateAllowedEmailDomains", - "description": "the new allowed email domains" + "$ref": "#/components/schemas/UpdateProjectMember" } } } } - } - }, - "/api/v1/org/groups": { - "post": { - "operationId": "CreateGroupInOrganization", + }, + "delete": { + "operationId": "RevokeProjectAccessForUser", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -12468,32 +15668,39 @@ } } }, - "description": "Creates a new group in the current user's organization", - "tags": ["Organizations"], + "description": "Remove a user's access to a project", + "tags": ["Roles & Permissions", "Projects"], "security": [], - "parameters": [], - "requestBody": { - "description": "the new group details", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CreateGroup", - "description": "the new group details" - } + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "path", + "name": "userUuid", + "required": true, + "schema": { + "type": "string" } } - } - }, + ] + } + }, + "/api/v1/projects/{projectUuid}/groupAccesses": { "get": { - "operationId": "ListGroupsInOrganization", + "operationId": "GetProjectGroupAccesses", "responses": { "200": { - "description": "Ok", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGroupListResponse" + "$ref": "#/components/schemas/ApiGetProjectGroupAccesses" } } } @@ -12509,33 +15716,42 @@ } } }, - "description": "Gets all the groups in the current user's organization", - "tags": ["Organizations"], + "description": "List group access for projects", + "tags": ["Projects"], "security": [], "parameters": [ { - "description": "number of members to include", - "in": "query", - "name": "includeMembers", - "required": false, + "in": "path", + "name": "projectUuid", + "required": true, "schema": { - "format": "double", - "type": "number" + "type": "string" } } ] } }, - "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items": { - "get": { - "operationId": "getPinnedItems", + "/api/v1/projects/{projectUuid}/sqlQuery": { + "post": { + "operationId": "RunSqlQuery", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPinnedItems" + "properties": { + "results": { + "$ref": "#/components/schemas/ApiSqlQueryResults" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" } } } @@ -12551,41 +15767,50 @@ } } }, - "description": "Get pinned items", - "tags": ["Content"], + "description": "Run a raw sql query against the project's warehouse connection", + "tags": ["Exploring", "Projects"], "security": [], "parameters": [ { - "description": "project uuid", + "description": "The uuid of the project to run the query against", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "the list uuid for the pinned items", - "in": "path", - "name": "pinnedListUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "description": "The query to run", + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "sql": { + "type": "string" + } + }, + "required": ["sql"], + "type": "object", + "description": "The query to run" + } } } - ] + } } }, - "/api/v1/projects/{projectUuid}/pinned-lists/{pinnedListUuid}/items/order": { - "patch": { - "operationId": "updatePinnedItemsOrder", + "/api/v1/projects/{projectUuid}/calculate-total": { + "post": { + "operationId": "CalculateTotalFromQuery", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiPinnedItems" + "$ref": "#/components/schemas/ApiCalculateTotalResponse" } } } @@ -12601,56 +15826,55 @@ } } }, - "description": "Update pinned items order", - "tags": ["Content"], + "description": "Calculate all metric totals from a metricQuery", + "tags": ["Projects"], "security": [], "parameters": [ { - "description": "project uuid", + "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } - }, - { - "description": "the list uuid for the pinned items", - "in": "path", - "name": "pinnedListUuid", - "required": true, - "schema": { - "type": "string" - } } ], "requestBody": { - "description": "the new order of the pinned items", + "description": "The metric query to calculate totals for", "required": true, "content": { "application/json": { "schema": { - "items": { - "$ref": "#/components/schemas/UpdatePinnedItemOrder" - }, - "type": "array", - "description": "the new order of the pinned items" + "$ref": "#/components/schemas/CalculateTotalFromQuery", + "description": "The metric query to calculate totals for" } } } } } }, - "/api/v1/projects/{projectUuid}": { + "/api/v1/projects/{projectUuid}/user-credentials": { "get": { - "operationId": "GetProject", + "operationId": "getUserWarehouseCredentialsPreference", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiProjectResponse" + "properties": { + "results": { + "$ref": "#/components/schemas/UserWarehouseCredentials" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["status"], + "type": "object" } } } @@ -12666,7 +15890,6 @@ } } }, - "description": "Get a project of an organiztion", "tags": ["Projects"], "security": [], "parameters": [ @@ -12681,16 +15904,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/charts": { - "get": { - "operationId": "ListChartsInProject", + "/api/v1/projects/{projectUuid}/user-credentials/{userWarehouseCredentialsUuid}": { + "patch": { + "operationId": "updateUserWarehouseCredentialsPreference", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiChartListResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -12706,32 +15929,80 @@ } } }, - "description": "List all charts in a project", "tags": ["Projects"], "security": [], "parameters": [ { - "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, "schema": { "type": "string" } + }, + { + "in": "path", + "name": "userWarehouseCredentialsUuid", + "required": true, + "schema": { + "type": "string" + } } ] } }, - "/api/v1/projects/{projectUuid}/chart-summaries": { + "/api/v1/projects/{projectUuid}/custom-metrics": { "get": { - "operationId": "ListChartSummariesInProject", + "operationId": "getCustomMetrics", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiChartSummaryListResponse" + "properties": { + "results": { + "items": { + "properties": { + "chartUrl": { + "type": "string" + }, + "chartLabel": { + "type": "string" + }, + "yml": { + "type": "string" + }, + "modelName": { + "type": "string" + }, + "label": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "chartUrl", + "chartLabel", + "yml", + "modelName", + "label", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" } } } @@ -12747,12 +16018,10 @@ } } }, - "description": "List all charts summaries in a project", "tags": ["Projects"], "security": [], "parameters": [ { - "description": "The uuid of the project to get charts for", "in": "path", "name": "projectUuid", "required": true, @@ -12763,16 +16032,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/spaces": { - "get": { - "operationId": "ListSpacesInProject", + "/api/v1/projects/{projectUuid}/metadata": { + "patch": { + "operationId": "updateProjectMetadata", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSpaceSummaryListResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -12788,12 +16057,11 @@ } } }, - "description": "List all spaces in a project", + "description": "Update project metadata like upstreamProjectUuid\nwe don't trigger a compile, so not for updating warehouse or credentials", "tags": ["Projects"], "security": [], "parameters": [ { - "description": "The uuid of the project to get spaces for", "in": "path", "name": "projectUuid", "required": true, @@ -12801,17 +16069,29 @@ "type": "string" } } - ] - }, - "post": { - "operationId": "CreateSpaceInProject", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateMetadata" + } + } + } + } + } + }, + "/api/v1/projects/{projectUuid}/semantic-layer-connection": { + "patch": { + "operationId": "updateProjectSemanticLayerConnection", "responses": { "200": { - "description": "Created", + "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSpaceResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -12827,12 +16107,10 @@ } } }, - "description": "Create a new space inside a project", - "tags": ["Roles & Permissions", "Spaces"], + "tags": ["Projects"], "security": [], "parameters": [ { - "description": "The uuid of the space's parent project", "in": "path", "name": "projectUuid", "required": true, @@ -12846,23 +16124,60 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateSpace" + "$ref": "#/components/schemas/SemanticLayerConnectionUpdate" + } + } + } + } + }, + "delete": { + "operationId": "deleteProjectSemanticLayerConnection", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiSuccessEmpty" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } } } } - } + }, + "tags": ["Projects"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "projectUuid", + "required": true, + "schema": { + "type": "string" + } + } + ] } }, - "/api/v1/projects/{projectUuid}/access": { + "/api/v1/projects/{projectUuid}/dashboards": { "get": { - "operationId": "GetProjectAccessList", + "operationId": "getDashboards", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiProjectAccessListResponse" + "$ref": "#/components/schemas/ApiGetDashboardsResponse" } } } @@ -12878,8 +16193,7 @@ } } }, - "description": "Get access list for a project. This is a list of users that have been explictly granted access to the project.\nThere may be other users that have access to the project via their organization membership.", - "tags": ["Roles & Permissions", "Projects"], + "tags": ["Projects"], "security": [], "parameters": [ { @@ -12893,14 +16207,14 @@ ] }, "post": { - "operationId": "GrantProjectAccessToUser", + "operationId": "createDashboard", "responses": { - "200": { - "description": "Success", + "201": { + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiCreateDashboardResponse" } } } @@ -12916,8 +16230,7 @@ } } }, - "description": "Grant a user access to a project", - "tags": ["Roles & Permissions", "Projects"], + "tags": ["Projects"], "security": [], "parameters": [ { @@ -12927,6 +16240,14 @@ "schema": { "type": "string" } + }, + { + "in": "query", + "name": "duplicateFrom", + "required": false, + "schema": { + "type": "string" + } } ], "requestBody": { @@ -12934,23 +16255,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CreateProjectMember" + "anyOf": [ + { + "$ref": "#/components/schemas/DuplicateDashboardParams" + }, + { + "$ref": "#/components/schemas/CreateDashboard" + } + ] } } } } - } - }, - "/api/v1/projects/{projectUuid}/user/{userUuid}": { - "get": { - "operationId": "GetProjectMemberAccess", + }, + "patch": { + "operationId": "updateDashboards", "responses": { "200": { - "description": "Success", + "description": "Updated", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetProjectMemberResponse" + "$ref": "#/components/schemas/ApiUpdateDashboardsResponse" } } } @@ -12966,8 +16292,7 @@ } } }, - "description": "Get a project explicit member's access.\nThere may be users that have access to the project via their organization membership.\n\nNOTE:\nWe don't use the API on the frontend. Instead, we can call the API\nso that we make sure of the user's access to the project.", - "tags": ["Roles & Permissions", "Projects"], + "tags": ["Projects"], "security": [], "parameters": [ { @@ -12977,28 +16302,44 @@ "schema": { "type": "string" } - }, - { - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "items": { + "$ref": "#/components/schemas/UpdateMultipleDashboards" + }, + "type": "array" + } } } - ] + } } }, - "/api/v1/projects/{projectUuid}/access/{userUuid}": { - "patch": { - "operationId": "UpdateProjectAccessForUser", + "/api/v1/projects/{projectUuid}/createPreview": { + "post": { + "operationId": "createPreview", "responses": { "200": { - "description": "Success", + "description": "Created", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "properties": { + "results": { + "type": "string" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" } } } @@ -13014,8 +16355,7 @@ } } }, - "description": "Update a user's access to a project", - "tags": ["Roles & Permissions", "Projects"], + "tags": ["Projects"], "security": [], "parameters": [ { @@ -13025,14 +16365,6 @@ "schema": { "type": "string" } - }, - { - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" - } } ], "requestBody": { @@ -13040,17 +16372,28 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateProjectMember" + "properties": { + "copyContent": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "required": ["copyContent", "name"], + "type": "object" } } } } - }, - "delete": { - "operationId": "RevokeProjectAccessForUser", + } + }, + "/api/v1/projects/{projectUuid}/schedulerSettings": { + "patch": { + "operationId": "updateSchedulerSettings", "responses": { "200": { - "description": "Success", + "description": "Updated", "content": { "application/json": { "schema": { @@ -13070,8 +16413,7 @@ } } }, - "description": "Remove a user's access to a project", - "tags": ["Roles & Permissions", "Projects"], + "tags": ["Projects"], "security": [], "parameters": [ { @@ -13081,28 +16423,30 @@ "schema": { "type": "string" } - }, - { - "in": "path", - "name": "userUuid", - "required": true, - "schema": { - "type": "string" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/UpdateSchedulerSettings" + } } } - ] + } } }, - "/api/v1/projects/{projectUuid}/groupAccesses": { - "get": { - "operationId": "GetProjectGroupAccesses", + "/api/v1/projects/{projectUuid}/tags": { + "post": { + "operationId": "createTag", "responses": { - "200": { + "201": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiGetProjectGroupAccesses" + "$ref": "#/components/schemas/ApiCreateTagResponse" } } } @@ -13118,7 +16462,6 @@ } } }, - "description": "List group access for projects", "tags": ["Projects"], "security": [], "parameters": [ @@ -13130,30 +16473,27 @@ "type": "string" } } - ] - } - }, - "/api/v1/projects/{projectUuid}/sqlQuery": { - "post": { - "operationId": "RunSqlQuery", + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Pick_Tag.name-or-color_" + } + } + } + } + }, + "get": { + "operationId": "getTags", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/ApiSqlQueryResults" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiGetTagsResponse" } } } @@ -13169,12 +16509,10 @@ } } }, - "description": "Run a raw sql query against the project's warehouse connection", - "tags": ["Exploring", "Projects"], + "tags": ["Projects"], "security": [], "parameters": [ { - "description": "The uuid of the project to run the query against", "in": "path", "name": "projectUuid", "required": true, @@ -13182,37 +16520,19 @@ "type": "string" } } - ], - "requestBody": { - "description": "The query to run", - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "sql": { - "type": "string" - } - }, - "required": ["sql"], - "type": "object", - "description": "The query to run" - } - } - } - } + ] } }, - "/api/v1/projects/{projectUuid}/calculate-total": { - "post": { - "operationId": "CalculateTotalFromQuery", + "/api/v1/projects/{projectUuid}/tags/{tagUuid}": { + "delete": { + "operationId": "deleteTag", "responses": { - "200": { - "description": "Success", + "204": { + "description": "Deleted", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiCalculateTotalResponse" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -13228,55 +16548,28 @@ } } }, - "description": "Calculate all metric totals from a metricQuery", "tags": ["Projects"], "security": [], "parameters": [ { - "description": "The uuid of the project to get charts for", "in": "path", - "name": "projectUuid", + "name": "tagUuid", "required": true, "schema": { "type": "string" } } - ], - "requestBody": { - "description": "The metric query to calculate totals for", - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CalculateTotalFromQuery", - "description": "The metric query to calculate totals for" - } - } - } - } - } - }, - "/api/v1/projects/{projectUuid}/user-credentials": { - "get": { - "operationId": "getUserWarehouseCredentialsPreference", + ] + }, + "patch": { + "operationId": "updateTag", "responses": { "200": { - "description": "Success", + "description": "Updated", "content": { "application/json": { "schema": { - "properties": { - "results": { - "$ref": "#/components/schemas/UserWarehouseCredentials" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["status"], - "type": "object" + "$ref": "#/components/schemas/ApiSuccessEmpty" } } } @@ -13297,25 +16590,35 @@ "parameters": [ { "in": "path", - "name": "projectUuid", + "name": "tagUuid", "required": true, "schema": { "type": "string" } } - ] + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DbTagUpdate" + } + } + } + } } }, - "/api/v1/projects/{projectUuid}/user-credentials/{userWarehouseCredentialsUuid}": { - "patch": { - "operationId": "updateUserWarehouseCredentialsPreference", + "/api/v1/projects/{projectUuid}/charts/code": { + "get": { + "operationId": "getChartsAsCode", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiChartAsCodeListResponse" } } } @@ -13331,6 +16634,7 @@ } } }, + "description": "Charts as code", "tags": ["Projects"], "security": [], "parameters": [ @@ -13341,70 +16645,20 @@ "schema": { "type": "string" } - }, - { - "in": "path", - "name": "userWarehouseCredentialsUuid", - "required": true, - "schema": { - "type": "string" - } } ] } }, - "/api/v1/projects/{projectUuid}/custom-metrics": { + "/api/v1/projects/{projectUuid}/dashboards/code": { "get": { - "operationId": "getCustomMetrics", + "operationId": "getDashboardsAsCode", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "properties": { - "results": { - "items": { - "properties": { - "chartUrl": { - "type": "string" - }, - "chartLabel": { - "type": "string" - }, - "yml": { - "type": "string" - }, - "modelName": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "chartUrl", - "chartLabel", - "yml", - "modelName", - "label", - "name" - ], - "type": "object" - }, - "type": "array" - }, - "status": { - "type": "string", - "enum": ["ok"], - "nullable": false - } - }, - "required": ["results", "status"], - "type": "object" + "$ref": "#/components/schemas/ApiDashboardAsCodeListResponse" } } } @@ -13434,16 +16688,16 @@ ] } }, - "/api/v1/projects/{projectUuid}/metadata": { - "patch": { - "operationId": "updateProjectMetadata", + "/api/v1/projects/{projectUuid}/charts/{slug}/code": { + "post": { + "operationId": "upsertChartAsCode", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiChartAsCodeUpsertResponse" } } } @@ -13459,7 +16713,6 @@ } } }, - "description": "Update project metadata like upstreamProjectUuid\nwe don't trigger a compile, so not for updating warehouse or credentials", "tags": ["Projects"], "security": [], "parameters": [ @@ -13470,6 +16723,14 @@ "schema": { "type": "string" } + }, + { + "in": "path", + "name": "slug", + "required": true, + "schema": { + "type": "string" + } } ], "requestBody": { @@ -13477,23 +16738,38 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UpdateMetadata" + "allOf": [ + { + "$ref": "#/components/schemas/Omit_ChartAsCode.metricQuery-or-chartConfig_" + }, + { + "properties": { + "metricQuery": {}, + "chartConfig": {} + }, + "required": [ + "metricQuery", + "chartConfig" + ], + "type": "object" + } + ] } } } } } }, - "/api/v1/projects/{projectUuid}/semantic-layer-connection": { - "patch": { - "operationId": "updateProjectSemanticLayerConnection", + "/api/v1/projects/{projectUuid}/dashboards/{slug}/code": { + "post": { + "operationId": "upsertDashboardAsCode", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApiSuccessEmpty" + "$ref": "#/components/schemas/ApiDashboardAsCodeUpsertResponse" } } } @@ -13519,6 +16795,14 @@ "schema": { "type": "string" } + }, + { + "in": "path", + "name": "slug", + "required": true, + "schema": { + "type": "string" + } } ], "requestBody": { @@ -13526,7 +16810,23 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SemanticLayerConnection" + "allOf": [ + { + "$ref": "#/components/schemas/Omit_DashboardAsCode.filters-or-tiles-or-description_" + }, + { + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "tiles": {}, + "filters": {} + }, + "required": ["tiles", "filters"], + "type": "object" + } + ] } } } @@ -14118,6 +17418,88 @@ ] } }, + "/api/v1/saved/{chartUuid}/downloadCsv": { + "post": { + "operationId": "DownloadCsvFromSavedChart", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "properties": { + "jobId": { + "type": "string" + } + }, + "required": ["jobId"], + "type": "object" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Download a CSV from a saved chart uuid", + "tags": ["Charts"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "chartUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "csvLimit": { + "type": "number", + "format": "double", + "nullable": true + }, + "onlyRaw": { + "type": "boolean" + }, + "tileUuid": { + "type": "string" + }, + "dashboardFilters": {} + }, + "required": ["onlyRaw", "dashboardFilters"], + "type": "object" + } + } + } + } + } + }, "/api/v1/schedulers/{projectUuid}/logs": { "get": { "operationId": "getSchedulerLogs", @@ -14592,7 +17974,16 @@ "description": "Get slack channels", "tags": ["Integrations"], "security": [], - "parameters": [] + "parameters": [ + { + "in": "query", + "name": "search", + "required": false, + "schema": { + "type": "string" + } + } + ] } }, "/api/v1/slack/custom-settings": { @@ -15702,6 +19093,74 @@ ] } }, + "/api/v1/user/me/personal-access-tokens/{personalAccessTokenUuid}/rotate": { + "patch": { + "operationId": "Rotate personal access token", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "properties": { + "results": { + "$ref": "#/components/schemas/PersonalAccessTokenWithToken" + }, + "status": { + "type": "string", + "enum": ["ok"], + "nullable": false + } + }, + "required": ["results", "status"], + "type": "object" + } + } + } + }, + "default": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApiErrorPayload" + } + } + } + } + }, + "description": "Rotate personal access token", + "tags": ["My Account"], + "security": [], + "parameters": [ + { + "in": "path", + "name": "personalAccessTokenUuid", + "required": true, + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "expiresAt": { + "type": "string", + "format": "date-time" + } + }, + "required": ["expiresAt"], + "type": "object" + } + } + } + } + } + }, "/api/v1/projects/{projectUuid}/validate": { "post": { "operationId": "ValidateProject",