### S3 Bucket Path Example Source: https://docs.explo.co/data-share/s3-setup This snippet demonstrates the structure of an S3 URI (Uniform Resource Identifier) that Explo will use to write files. It includes the bucket name and a prefix (folder path) within the bucket. ```text s3://their-company-data/uploads/your-team/myfile.csv ``` -------------------------------- ### Explo Dashboard Drilldowns Setup Guide Source: https://docs.explo.co/creating-dashboards/drilldowns/dashboard-drilldowns This guide outlines the steps to configure and implement Dashboard Drilldowns within an Explo dashboard. It details selecting a dashboard, navigating to the Views section, creating a new drilldown view by referencing a chart and source column, building the dashboard content, and finally saving and publishing the new view. ```English Step 1: Choose a Dashboard Navigate to the Edit view of a Dashboard that you’d like to create a Dashboard Drilldown View for. Step 2: Navigate to the new Views section of the Edit modal You’ll find a new tab on the right side of the Edit modal, allowing you to view Layers for your Dashboard. Step 3: Create a new Dashboard Drilldown View Click the plus sign to add a new View to your dashboard. When creating a new View, you’ll be asked to choose a Chart and Source Column for your Dashboard Drilldown to reference. Once you have created a new View, you’ll find that the reference Chart now has additional Actions while edited that are focused on Dashboard Drilldowns. Step 4: Build out your Dashboard Build out your new Dashboard as you would any other dashboard. You’ll find all datasets that have been imported previously are available for use in your Dashboard Drilldown. Step 5: Save and Publish your new Dashboard Drilldown View Saving and publishing processes remain the same with added Dashboard Views. Use Explo’s preview function to test out your new Dashboard Views! ``` -------------------------------- ### Supabase Connection URL Example Source: https://docs.explo.co/data-sources/connecting-to-data-sources/data-source-types/supabase This snippet shows an example of the Supabase dashboard URL where users can find their database settings, which are necessary for establishing a connection with Explo. ```URL https://supabase.com/dashboard/project/PROJECT_ID/settings/database ``` -------------------------------- ### IAM Role ARN Example Source: https://docs.explo.co/data-share/s3-setup This snippet shows the format of an AWS IAM Role ARN (Amazon Resource Name) that Explo needs to assume in a target AWS account. This ARN specifies the account ID, region, and the role name. ```text arn:aws:iam::111122223333:role/TheirRoleName ``` -------------------------------- ### Get All Customers (v1) Response - Customer API Source: https://docs.explo.co/api-reference/customer-api/customers Example JSON response for the 'Get All Customers (v1)' endpoint, detailing customer information including tokens, names, provided IDs, and hierarchy levels. ```json { "success": 1, "new_customer": true, "customers": [{ "token": "", "name": "Example 1", "provided_id": "example_1", "is_demo_group": false, "emails": ["example@example.com"], "group_tags": ["designers", "engineers"], "properties": { "filterValue": "value" }, "computed_properties": { "filterValue": "value" }, "access_group": "Development", "parent_schema_datasource_mapping": {"40": "213": "134": "386"}, "computed_parent_schema_datasource_mapping": {"40": "213": "134": "386"}, "hierarchy_level": "Level 1" }, { "token": "", "name": "Example 2", "provided_id": "example_2", "is_demo_group": false, "emails": ["example2@example.com"], "group_tags": [], "properties": { "filterValue": "value" }, "computed_properties": { "filterValue": "value" }, "access_group": "Production", "parent_schema_datasource_mapping": {"40": "213": "134": "386"}, "computed_parent_schema_datasource_mapping": {"40": "213": "134": "386"}, "hierarchy_level": "Level 2" }] } ``` -------------------------------- ### Explo Data Model - Customer Segmentation Example Source: https://docs.explo.co/data-sources/building-your-data-model This example illustrates how to structure your data tables to include a customer identifier, such as 'customer_id' or 'organization_name', to facilitate efficient data querying and segmentation within Explo. It also mentions an alternative approach for data models where customer data resides in separate databases, referencing Explo's API documentation for configuration. ```SQL SELECT order_status, SKU, quantity, shipping_cost, price, customer_id, seller_id, order_date FROM Orders; SELECT customer_name, customer_id, email, address, "payment info" FROM Customers; SELECT SKU, product_name, description, seller_id FROM Products; ``` -------------------------------- ### Customer API: Get or Create Source: https://docs.explo.co/api-reference/resource-api Retrieves a customer or creates one if it does not exist. This is part of the Customer API. ```REST POST /customer/get-or-create ``` -------------------------------- ### Customer API: Get or Create Customer Source: https://docs.explo.co/api-reference/customer-api Allows fetching an existing customer or creating a new one via the Customer API. ```HTTP POST /customers/get-or-create ``` -------------------------------- ### Explo API: Get All Reports Response Source: https://docs.explo.co/api-reference/resource-api/list-report-builders Example JSON response for the 'Get All Reports' API endpoint. It indicates a successful request (success: 1) and provides an array of report objects, each containing a 'name' and 'embed_id'. ```JSON { "success": 1, "reports": [ { "name": "Example Report", "embed_id": "vcjTgL2wdX" }, { "name": "Production Report", "embed_id": "JQvCTLT76V" } ] } ``` -------------------------------- ### Create and Use Explo Global Datasets Source: https://docs.explo.co/data-sources/data-library/global-datasets This guide outlines the steps to create and utilize Global Datasets within Explo's Data Library. It covers navigating to the Data Library, creating a dataset with SQL logic, committing changes for version control, and importing these datasets into Dashboards and Report Builders. ```SQL SELECT column1, column2 FROM your_table WHERE condition; ``` -------------------------------- ### Explo API: Get All Group Tags Response Source: https://docs.explo.co/api-reference/group-tag-api/group-tags Example JSON response for the 'Get All Group Tags' API call, indicating a successful operation and listing group tags such as 'marketing', 'designer', 'engineers', and 'sales'. ```json { "success": 1, "group_tags": [ { "name": "marketing" }, { "name": "designer" }, { "name": "engineers" }, { "name": "sales" } ] } ``` -------------------------------- ### Connect to Explo via Partners API Source: https://docs.explo.co/api-reference/partners-api/connect This snippet demonstrates how to connect to Explo using the Partners API. It shows an example POST request with necessary headers and data payload, along with the expected JSON response. ```bash curl --location --request POST 'https://api.explo.co/api/partners/connect' \ --header 'Content-Type: application/json' \ --header 'Explo-Authorization: Token ' \ --data-raw '{ \ "email": "customer@site.com", \ "team_name": "Customer Team", \ "connection_info": "{\"@type\": \"database_type\", \"configuration\": {}}" \ }' ``` -------------------------------- ### Report Builder Built-in Reports Source: https://docs.explo.co/general-features/internationalization Details the functionality and management of Built-In Reports, including their purpose, saving limitations, and how to get started with them. ```JavaScript { "ReportBuilder": { "AllReports": "All Reports", "BuiltIn": "Built In", "BuiltInReport": "Built In Report", "BuiltInReport_plural": "Built In Reports", "BuiltInReportsArePreBuiltReportsThatYouCanUseToQuicklyPreviewDataOrCreateYourOwnReportsOffOf": "Built In Reports are pre-built reports that you can use to quickly preview data or create your own reports off of.", "ChangesToBuiltInReportsCannotBeSavedButYouCanSaveYourChangesToANewReport": "Changes to Built In Reports cannot be saved but you can save your changes to a new report.", "GetStartedWithTheseBuiltInReports": "Get started with these Built In Reports", "NoBuiltIns": "No built ins", "NoStarredReportsOrBuiltIns": "No starred reports or built ins" } } ``` -------------------------------- ### SingleStore Connection Credentials Source: https://docs.explo.co/data-sources/connecting-to-data-sources/data-source-types/singlestore This snippet outlines the essential credentials required to establish a connection to a SingleStore database. It includes the hostname, port number, database name, and authentication details such as username and password. ```text Hostname: The server where your database lives Example: _db.location.singlestore.com_ Port: The port the database server uses Example: _3306_ Database name: Name of the database you are connecting Explo to Example: _dbname_ Authentication: Scheme you want to use (options below) Username and Password: Credentials: Username Password ``` -------------------------------- ### Materialize Connection Details Source: https://docs.explo.co/data-sources/connecting-to-data-sources/data-source-types/materialize Provides the necessary credentials and connection parameters for setting up Materialize as a data source in Explo. This includes hostname, port, database name, and authentication methods. ```Markdown ## ​ Intro Find out more about Materialize here. ## ​ Necessary Credentials * **Hostname** * The server where your database lives * Example: _STRING.us-east-1.aws.materialize.cloud_ * **Port** * The port the database server uses * Example: _6875_ * **Database name** * Name of the database you are connecting Explo to * Example: _materialize_ * **Authentication** * Scheme you want to use (options below) ### ​ Authentication Options **Username and Password** * Credentials: * Username * Password ## ​ Whitelisting Explo’s IPs You may need to allowlist egress IPs for your Connectivity Region. ## ​ SSH Tunnels You can connect to Postgres databases via an SSH tunnel if necessary. Check out this section on SSH tunnels to see how. ## ​ Questions? Please reach out to the Explo team at support@explo.co if you have any questions. ``` -------------------------------- ### Explo Customer API: Get Customer Response Source: https://docs.explo.co/api-reference/customer-api/get Provides an example JSON response for a successful customer retrieval via the Explo Customer API. It includes customer details such as token, name, provided ID, emails, and group tags. ```json { "success": 1, "customer": { "token": "", "name": "Example 1", "provided_id": "example_1", "is_demo_group": false, "emails": ["example@example.com"], "group_tags": ["sales"], "properties": { "filterValue": "value" }, "computed_properties": { "filterValue": "value" }, "access_group": "Production", "parent_schema_datasource_mapping": {"40": "213": "134": 386}, "computed_parent_schema_datasource_mapping": {"40": "213": "134": 386}, "hierarchy_level": "Customer" } } ``` -------------------------------- ### Partners API: Connect to Explo Source: https://docs.explo.co/api-reference/customer-api Establishes a connection to Explo as a partner using the Partners API. ```HTTP POST /partners/connect ``` -------------------------------- ### Setup SSH Bastion Host Source: https://docs.explo.co/data-sources/connecting-to-data-sources/ssh-tunnels Steps to configure a dedicated SSH bastion host (jump box) for secure access. This includes creating a user, disabling password authentication, and adding Explo's public SSH key to the user's authorized keys. ```Shell # 1. Create a new user (e.g., 'explo') on the bastion host sudo adduser explo # 2. Disable password authentication for the new user sudo passwd -d explo # 3. Create the .ssh directory and authorized_keys file for the user currentChar = "explo" sudo mkdir /home/$currentChar/.ssh sudo touch /home/$currentChar/.ssh/authorized_keys # 4. Add Explo's public key to the authorized_keys file # (Replace 'EXPLO_PUBLIC_KEY_HERE' with the actual public key provided by Explo) sudo echo 'EXPLO_PUBLIC_KEY_HERE' >> /home/$currentChar/.ssh/authorized_keys # 5. Set correct permissions for the .ssh directory and authorized_keys file sudo chown -R $currentChar:$currentChar /home/$currentChar/.ssh sudo chmod 700 /home/$currentChar/.ssh sudo chmod 600 /home/$currentChar/.ssh/authorized_keys # 6. Ensure the SSH server is configured to allow this user and key-based authentication # (Check /etc/ssh/sshd_config for relevant settings like PubkeyAuthentication yes) ``` -------------------------------- ### Configure Custom Map Boundaries in Explo Source: https://docs.explo.co/dashboard-features/custom-map-boundaries This guide details the steps to configure custom map boundaries in Explo using Mapbox. It outlines the necessary prerequisites, API key setup, and the specific configuration parameters required for custom boundary types in choropleth maps. ```Markdown # Custom Map Boundaries The Custom Map Boundaries feature allows you to use custom Mapbox configurations for your choropleth maps, enabling support for specialized boundary types. ## Prerequisites Before using custom map configurations, you’ll need: * A Mapbox API key with access to your custom tilesets * Knowledge of your boundary configuration details: * Source layer name * Tileset ID * Boundary format (column name for matching) ## Setting Up Your Mapbox API Key 1. Navigate to your team settings 2. Locate the “Custom Map Boundaries Configuration” section 3. Enter your Mapbox API key 4. Save the configuration ## Configuring Custom Boundaries When creating or editing a choropleth map: 1. Select “Custom” as the boundary type 2. Configure the following settings: * **Custom Boundary Source Layer** : The name of your source layer (e.g., “custom-regions”) * **Custom Boundary Tileset** : Your Mapbox tileset ID (e.g., “mapbox://your-tileset-id”) * **Custom Boundary Format** : The column name in your tileset that contains the matching values (e.g., “postcode”) ## Default Behavior If any custom settings are left unspecified: * Source Layer: Defaults to the standard states layer * Tileset: Uses the default Explo engineering tileset * Boundary Format: Uses standard state format (STUSPS) ## Troubleshooting If your custom map configuration isn’t working: * Verify your Mapbox API key has access to the specified tileset * Ensure the boundary format matches exactly with your data column names * Check that your source layer name matches the one in your Mapbox tileset ``` -------------------------------- ### Providing SFTP Properties in Explo Source: https://docs.explo.co/data-share/sftp-setup This snippet illustrates how to upload SFTP server properties for each customer within the Explo platform. These properties include the username, port, and hostname, which are essential for Explo to send data to the user's SFTP server. The keys `sftp_export_username`, `sftp_export_port`, and `sftp_export_host` are reserved for this purpose. ```JSON { "properties": { "sftp_export_username": "", "sftp_export_port": , "sftp_export_host": "" } } ``` -------------------------------- ### Explo End User API: Get or Create [Deprecated] Source: https://docs.explo.co/api-reference/end-user-group-api Gets or creates a new end user. This endpoint is deprecated. ```HTTP POST /end_user/get_or_create ``` -------------------------------- ### End User API: Get or Create End User Source: https://docs.explo.co/api-reference/customer-api Gets or creates an end user using the deprecated End User API. ```HTTP POST /end-users/get-or-create [Deprecated] ``` -------------------------------- ### SQL Query for Dataset Source: https://docs.explo.co/getting-started/creating-my-first-dashboard This SQL query is used to select all data from 'Table_1' when creating a dashboard-specific dataset in Explo. It's a basic example for fetching data to be used in dashboard visualizations. ```sql SELECT * FROM Table_1; ``` -------------------------------- ### SFTP Server Authentication with Explo Public Key Source: https://docs.explo.co/data-share/sftp-setup This section describes how to authenticate your SFTP server with Explo. You need to add Explo's public key to your SFTP server's authorized_keys file. This allows Explo to securely connect and transfer data. ```Bash echo "" >> ~/.ssh/authorized_keys ``` -------------------------------- ### Explo End User Group API: Get or Create [Deprecated] Source: https://docs.explo.co/api-reference/end-user-group-api Gets or creates a new end user group. This endpoint is deprecated and replaced by the Customer API. ```HTTP POST /end_user_group/get_or_create ``` -------------------------------- ### End User Group API: Get or Create End User Group Source: https://docs.explo.co/api-reference/customer-api Gets or creates an end user group using the deprecated End User Group API. ```HTTP POST /end-user-groups/get-or-create [Deprecated] ``` -------------------------------- ### Fetch Customers using Explo API Source: https://docs.explo.co/api-reference/customer-api/customers-v2 This snippet demonstrates how to retrieve a list of customers using the Explo API. It includes parameters for pagination and authentication. ```bash curl --location --request GET 'https://api.explo.co/v2/api/customers/?pageSize=2&page=1' \ --header 'Content-Type: application/json' \ --header 'Explo-Authorization: Token ' ``` -------------------------------- ### Explo Partners API Endpoints Source: https://docs.explo.co/api-reference/overview The Partners API facilitates the creation of customer accounts in Explo with connected data sources. Contact Explo Sales for setup. The primary endpoint is for connecting to Explo. ```REST POST /partners/connect/ ``` -------------------------------- ### Example Cached Query Source: https://docs.explo.co/dashboard-features/dashboard-caching This example demonstrates a query that would be cached. Explo caches the query and its results, and subsequent identical queries within the timeout period will fetch data from the cache. ```sql SELECT * FROM DB WHERE DATE > "2022-01-01" ``` -------------------------------- ### Customer API: Configure Portal Source: https://docs.explo.co/api-reference/customer-api Configures customer access to the Customer Portal using the Customer API. ```HTTP POST /customers/configure-portal ``` -------------------------------- ### Example Non-Cached Query Source: https://docs.explo.co/dashboard-features/dashboard-caching This example shows a query that would NOT be cached if the previous query was cached, because it's not an exact match. Explo requires exact query matches to retrieve data from the cache. ```sql SELECT * FROM DB WHERE DATE > "2022-09-09" ``` -------------------------------- ### Snowflake Authentication Options Source: https://docs.explo.co/data-sources/connecting-to-data-sources/data-source-types/snowflake Details the authentication methods for connecting to Snowflake via Explo. It highlights the recommended Private Key authentication and the deprecated Password authentication, suggesting PAT as an alternative. Information on obtaining and setting up these credentials is provided, referencing Snowflake's documentation. ```English Authentication Options * **Private Key (Recommended)** * You’ll pass in your RSA private key to Explo to use in authenticating with Snowflake. See Snowflake’s documentation for help creating and setting up an unencrypted private key. * **Password (Deprecated) / PAT** * Snowflake has deprecated single-factor password authentication and will block it by November 2025. It is highly recommended to setup Private Key or PAT authentication instead. * You can also use a Programmatic Access Token (PAT) instead of a password to authenticate with Snowflake. See Snowflake’s documentation ``` -------------------------------- ### Explo Custom Formulas: Use and Examples Source: https://docs.explo.co/creating-dashboards/visualizations/format-tab/custom-formulas Demonstrates how to use custom formulas in Explo by accessing the 'fx' button on the Data tab. It shows examples of SQL aggregation functions for creating custom calculations on chart data, such as summing price or calculating revenue minus cost. ```SQL SUM(price) ``` ```SQL SUM(revenue) - SUM(cost) ``` -------------------------------- ### Explo Partners API: Connect Source: https://docs.explo.co/api-reference/end-user-group-api Establishes a connection with a partner. ```HTTP POST /partners/connect ``` -------------------------------- ### Explo Customer API: Get Source: https://docs.explo.co/api-reference/end-user-group-api Retrieves a specific customer record. ```HTTP POST /customer/get ``` -------------------------------- ### Customer API: Configure Portal Source: https://docs.explo.co/api-reference/resource-api Configures the customer portal. This is part of the Customer API. ```REST POST /customer/configure-portal ``` -------------------------------- ### Customer API: Get Source: https://docs.explo.co/api-reference/resource-api Retrieves a specific customer. This is part of the Customer API. ```REST POST /customer/get ``` -------------------------------- ### Explo Group Tag API: Get All Source: https://docs.explo.co/api-reference/end-user-group-api Retrieves all existing group tags. ```HTTP GET /group_tag ``` -------------------------------- ### Connect to Explo (Partners API) Source: https://docs.explo.co/api-reference/partners-api Allows users to create a team in Explo and automatically connect a data source to that workspace using the Partners API. This endpoint is for partners to integrate their databases with Explo. ```HTTP POST /partners/connect ``` -------------------------------- ### Partners API: Connect Source: https://docs.explo.co/api-reference/resource-api Establishes a connection with a partner. This is part of the Partners API. ```REST POST /partners/connect ``` -------------------------------- ### Explo Customer API Endpoints Source: https://docs.explo.co/api-reference/overview The Customer API allows programmatic retrieval of customer data for embedding dashboards. It uses a provided_id for customer referencing and authenticates requests with an API Token associated with a Data Visibility Group. Endpoints include getting all customers, getting or creating customers, updating customers, deleting customers, refreshing tokens, configuring portals, and generating JWTs. ```REST GET /customer/all/ (v2) GET /customer/all/ (v1) [Deprecated] POST /customer/ POST /customer/get_or_create/ POST /customer/update/ DEL /customer/ POST /customer/refresh_token/ POST /customer/configure_portal/ POST /customer/generate_jwt/ ``` -------------------------------- ### Explo Customer API - Get Source: https://docs.explo.co/api-reference/group-tag-api Retrieves a specific customer. This is part of the Customer API. ```HTTP POST /customer/get ``` -------------------------------- ### Publishing a Version to an Environment in Explo Source: https://docs.explo.co/general-features/version-control/publishing-a-new-version This section describes how to publish a specific version of an Explo dashboard or report builder to a chosen environment. Selecting the 'Publish To' option and choosing an environment makes the version accessible on websites embedding content with that environment tag. ```text To publish a version to an environment, simply select the “Publish To” option and select the environment you would like to publish the version to. This action will publish this version to any part of your website which is embedding an Explo dashboard or report builder with that environment tag specified. ``` -------------------------------- ### Customer API: Get Customer Source: https://docs.explo.co/api-reference/customer-api Retrieves a specific customer using the Customer API. ```HTTP POST /customers/get ``` -------------------------------- ### Interact with Editable Sections using Custom JS Events Source: https://docs.explo.co/general-features/custom-js-events/editable-sections-example-code This example demonstrates how to send messages to an Explo iframe to manage editable sections, such as adding or removing charts. It also includes a message listener to receive updates from the iframe, like dashboard dimensions and editable section content. This allows for programmatic control and dynamic updates of embedded content. ```html ```