Skip to main content

Hex

Hex is a collaborative analytics and data science platform for building notebooks, interactive data apps, and reports. The Hex API lets you programmatically manage projects, runs, data connections, collections, groups, users, cells, and Notebook Agent threads. Nexla connects to the Hex API to ingest workspace metadata as a data source and to create or update Hex resources as a destination.

Hex icon

Power end-to-end data operations for your Hex API with Nexla. Our bi-directional Hex connector is purpose-built for Hex, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Hex or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Hex workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Hex credential, you need a Hex Workspace API token. Hex authenticates every API request with a Workspace token sent in the Authorization: Bearer <token> header, against the base URL https://app.hex.tech/api/v1.

Workspace tokens are created and managed by workspace Admins. To generate one:

  1. Sign in to Hex and open User Settings from the Account section.

  2. Go to the API keys page.

  3. Click New Token and provide a description, an expiration timeframe (workspace tokens can be configured to never expire, which is useful for scheduled orchestration), and the scopes the token needs — for example, read and run projects, or administrative scopes for users, groups, collections, and data connections.

  4. Copy the generated token and store it securely. Workspace tokens are prefixed with hxtw_, and the full value may only be shown once.

Scope the token to the least privilege required for your use case. Read-only scopes are sufficient when using Hex only as a data source; the create, update, delete, run, and deactivate operations available in the destination require the corresponding write or administrative scopes. If your token is compromised, revoke it from the API keys page and generate a new one. For single-tenant or regional Hex deployments, replace app.hex.tech with your custom domain. For more detail, see the Hex API documentation.

Authenticate

Credentials required

Hex authenticates requests with a Workspace API token, sent as 'Authorization: Bearer <token>' on every request.

FieldRequiredSecretDescription
API TokenYesYesHex Workspace API token (Workspace settings > API Tokens). Sent as 'Authorization: Bearer <token>'.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your Hex Workspace API token in the API Token field. This token is sent in the Authorization: Bearer <token> header on every request to the Hex API and must be kept confidential.

    If your Workspace API token is compromised, revoke it from the Hex API keys page under User Settings and generate a new one. The token grants access to your Hex workspace based on the scopes selected when it was created.

    For detailed information about Hex API authentication, scopes, and available endpoints, see the Hex API documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Hex connector tile, then select the credential that will be used to connect to Hex, and click Next; or, create a new Hex credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Hex endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List Projects

List all Hex projects and components visible to the API token.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] Get Project

Get metadata for a single Hex project.

  • Requires the Project ID (project or component UUID).

[Rest API] List Project Queried Tables

List the data-warehouse tables queried by a project.

  • Requires the Project ID, and supports the optional Limit and After Cursor parameters.

[Rest API] List Project Runs

List past runs of a Hex project.

  • Requires the Project ID, and supports the optional Limit and Offset parameters to page through results.

[Rest API] Get Run Status

Get the status and result of a single project run.

  • Requires the Project ID and the Run ID returned by the run-project operation.

[Rest API] List Data Connections

List data connections configured in the workspace.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] Get Data Connection

Get details of a single data connection.

  • Requires the Data Connection ID (data connection UUID).

[Rest API] List Collections

List collections (project folders) in the workspace.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] Get Collection

Get details of a single collection.

  • Requires the Collection ID (collection UUID).

[Rest API] List Groups

List user groups in the workspace.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] Get Group

Get details of a single group.

  • Requires the Group ID (group UUID).

[Rest API] List Users

List users in the workspace.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] List Cells

List cells in a given Hex project.

  • Requires the Project ID, and supports the optional Limit and After Cursor parameters.

[Rest API] Get Cell

Get details of a single cell.

  • Requires the Cell ID (cell UUID).

[Rest API] List Threads

List Hex Notebook Agent threads.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] Get Thread

Get details of a single Notebook Agent thread.

  • Requires the Thread ID (Notebook Agent thread UUID).

[Rest API] List Thread Messages

List messages in a Notebook Agent thread.

  • Requires the Thread ID, and supports the optional Limit and After Cursor parameters.

[Rest API] List Draft Guides

List org guide draft files.

  • Supports the optional Limit and After Cursor parameters to page through results.

[Rest API] List Context Topics

List semantic context topics available to the Notebook Agent.

  • Takes no parameters; returns all context topics visible to the token.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Hex data sources can also be manually configured to ingest data from any valid Hex API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Hex data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Hex destination, and select the Send to Destination option from the menu. Select the Hex connector from the list of available destination connectors, then select the credential that will be used to connect to Hex, and click Next; or, create a new Hex credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Hex endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create Project

Create a new (empty) Hex project.

  • Each record from your Nexset is sent as a JSON request body to create a new project.

[Rest API] Update Project

Update a Hex project's status.

  • Requires the Project ID; the updated fields are sent as a JSON request body.

[Rest API] Run Project

Trigger a run of a Hex project.

  • Requires the Project ID; run parameters are sent as a JSON request body.

[Rest API] Cancel Run

Cancel an in-progress project run.

  • Requires the Project ID and the Run ID.

[Rest API] Create Data Connection

Create a new data connection.

  • Each record from your Nexset is sent as a JSON request body to create a new data connection.

[Rest API] Update Data Connection

Update an existing data connection.

  • Requires the Data Connection ID; the updated fields are sent as a JSON request body.

[Rest API] Create Collection

Create a new collection.

  • Each record from your Nexset is sent as a JSON request body to create a new collection.

[Rest API] Update Collection

Update an existing collection.

  • Requires the Collection ID; the updated fields are sent as a JSON request body.

[Rest API] Create Group

Create a new user group.

  • Each record from your Nexset is sent as a JSON request body to create a new group.

[Rest API] Update Group

Update an existing group.

  • Requires the Group ID; the updated fields are sent as a JSON request body.

[Rest API] Delete Group

Delete a group.

  • Requires the Group ID of the group to delete.

[Rest API] Create Cell

Create a new cell in a project.

  • Each record from your Nexset is sent as a JSON request body to create a new cell.

[Rest API] Update Cell

Update an existing cell.

  • Requires the Cell ID; the updated fields are sent as a JSON request body.

[Rest API] Delete Cell

Delete a cell.

  • Requires the Cell ID of the cell to delete.

[Rest API] Create Thread

Create a new Notebook Agent thread.

  • Each record from your Nexset is sent as a JSON request body to create a new thread.

[Rest API] Deactivate User

Deactivate a user in the workspace.

  • Requires the User ID of the user to deactivate.

[Rest API] Publish Guide

Publish an org guide draft.

  • The draft to publish is identified by the JSON request body sent from your Nexset.

Manual configuration

Hex destinations can also be manually configured to send data to any valid Hex API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Hex APIs expect JSON in the request body. For update and delete operations, include the resource ID (such as the project, collection, group, or cell UUID) at the end of the endpoint URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Hex endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Hex endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.