Hex
Hex is an AI analytics platform that enables teams to explore, analyze, and share data insights together. It provides agentic notebooks, conversational self-serve analytics, data apps, dashboards, and a Context Studio for semantic modeling and data governance, integrating with major data warehouses such as Snowflake, BigQuery, Databricks, and Redshift.
1 APIs
0 Features
AnalyticsCollaborationDataNotebooks
APIs
Hex API
The Hex API provides programmatic access to projects, project runs, data connections, collections, sharing, groups, and users on the Hex collaborative analytics platform.
Collections
Hex API
OPENPricing Plans
Rate Limits
FinOps
Hexa Finops
FINOPSResources
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
💰
Pricing
Pricing
📝
Signup
Signup
🔗
Login
Login
📰
Blog
Blog
🔗
LlmsText
LlmsText
Sources
opencollection: 1.0.0
info:
name: Hex API
version: 1.0.0
request:
auth:
type: bearer
token: '{{bearerToken}}'
items:
- info:
name: CreatePresignedUrl
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/embedding/createPresignedUrl/:projectId
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: Create an embedded url for a project
- info:
name: ListProjects
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/projects
params:
- name: includeArchived
value: ''
type: query
- name: includeComponents
value: ''
type: query
- name: includeTrashed
value: ''
type: query
- name: includeSharing
value: ''
type: query
- name: statuses
value: ''
type: query
- name: categories
value: ''
type: query
- name: creatorEmail
value: ''
type: query
- name: ownerEmail
value: ''
type: query
- name: collectionId
value: ''
type: query
- name: limit
value: ''
type: query
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: sortBy
value: ''
type: query
- name: sortDirection
value: ''
type: query
docs: List all viewable projects, sorted by most recently created first.
- info:
name: CreateProject
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/projects
body:
type: json
data: '{}'
docs: 'Create a new project.
Creates a new project in the workspace with the specified title.
Optionally provide a description and project language.'
- info:
name: GetProject
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/projects/:projectId
params:
- name: projectId
value: ''
type: path
- name: includeSharing
value: ''
type: query
docs: Get metadata about a single project.
- info:
name: UpdateProject
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/projects/:projectId
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: Use this endpoint to add or remove a status (including endorsements) from a project
- info:
name: GetQueriedTables
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/projects/:projectId/queriedTables
params:
- name: limit
value: ''
type: query
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: projectId
value: ''
type: path
docs: Given a project ID, return the list of warehouse tables queried in the project.
- info:
name: EditProjectSharingCollections
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/projects/:projectId/sharing/collections
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Add a project to collections or remove it from collections.
For projects, use `CAN_VIEW` to grant the UI permission labeled "Can explore".
Use `APP_ONLY` to grant the UI permission labeled "Can view app".
Workspace tokens calling this endpoint need to have "Collections -> Write access" scope
in addition to "Projects -> Write access" scope.'
- info:
name: EditProjectSharingOrgAndPublic
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/projects/:projectId/sharing/workspaceAndPublic
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Update workspace or public-web sharing for a project.
For projects, use `CAN_VIEW` to grant the UI permission labeled "Can explore".
Use `APP_ONLY` to grant the UI permission labeled "Can view app".'
- info:
name: EditProjectSharingGroups
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/projects/:projectId/sharing/groups
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Add groups to a project or update/remove their project sharing access.
For projects, use `CAN_VIEW` to grant the UI permission labeled "Can explore".
Use `APP_ONLY` to grant the UI permission labeled "Can view app".'
- info:
name: EditProjectSharingUsers
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/projects/:projectId/sharing/users
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Add users to a project or update/remove their project sharing access.
For projects, use `CAN_VIEW` to grant the UI permission labeled "Can explore".
Use `APP_ONLY` to grant the UI permission labeled "Can view app".'
- info:
name: IngestSemanticProject
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/semantic-(projects|models)/:semanticProjectId/ingest
params:
- name: semanticProjectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Ingest a semantic project from a zip file.
This API endpoint is subject to a maximum of 3 requests per minute.'
- info:
name: UpdateSemanticProject
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/semantic-(projects|models)/:semanticProjectId
params:
- name: semanticProjectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Use this endpoint to add or remove a status (including endorsements) from datasets and views within a semantic project
This endpoint uses atomic semantics - if any update in the batch fails validation,
the entire request fails and no changes are applied.'
- info:
name: GetProjectRuns
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/projects/:projectId/runs
params:
- name: projectId
value: ''
type: path
- name: limit
value: ''
type: query
- name: offset
value: ''
type: query
- name: statusFilter
value: ''
type: query
- name: runTriggerFilter
value: ''
type: query
description: 'Filter by how the run was triggered
Valid values: `API`, `SCHEDULED`, `APP_REFRESH`'
docs: 'Get the status of runs of a project.
By default, all run types are returned (API-triggered, scheduled, and publish/refresh runs).
Use the `runTriggerFilter` parameter to filter to a specific type.'
- info:
name: RunProject
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/projects/:projectId/runs
headers:
- name: flag-config-override
value: ''
params:
- name: projectId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Trigger a run of the latest published version of a project.
This API endpoint is subject to a maximum of 20 requests per minute and 60 requests per hour.'
- info:
name: GetRunStatus
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/projects/:projectId/runs/:runId
headers:
- name: enable-expanded-stats
value: ''
params:
- name: projectId
value: ''
type: path
- name: runId
value: ''
type: path
docs: Get the status of a project run.
- info:
name: CancelRun
type: http
http:
method: DELETE
url: https://app.hex.tech/api/v1/projects/:projectId/runs/:runId
params:
- name: projectId
value: ''
type: path
- name: runId
value: ''
type: path
docs: Cancel a project run.
- info:
name: GetChartImageFromRun
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/projects/:projectId/runs/:runId/cells/:staticId/image
params:
- name: projectId
value: ''
type: path
- name: runId
value: ''
type: path
- name: staticId
value: ''
type: path
docs: 'Get the rendered PNG image of a chart cell from a completed run by staticCellId.
The "staticId" path parameter should be the cell''s staticId (which remains stable across project versions),
as opposed to its cellId (which is scoped to a specific version).
Returns a JSON object containing the base64-encoded PNG image of the chart cell
as rendered at the time of the specified run, along with project/run/cell IDs and MIME type.
The cell must have been executed and must not be in an error state.
Onl'
- info:
name: GetGroup
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/groups/:groupId
params:
- name: groupId
value: ''
type: path
- info:
name: EditGroup
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/groups/:groupId
params:
- name: groupId
value: ''
type: path
body:
type: json
data: '{}'
- info:
name: DeleteGroup
type: http
http:
method: DELETE
url: https://app.hex.tech/api/v1/groups/:groupId
params:
- name: groupId
value: ''
type: path
- info:
name: ListGroups
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/groups
params:
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: limit
value: ''
type: query
- name: sortBy
value: ''
type: query
- name: sortDirection
value: ''
type: query
- info:
name: CreateGroup
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/groups
body:
type: json
data: '{}'
- info:
name: GetDataConnection
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/data-connections/:dataConnectionId
params:
- name: dataConnectionId
value: ''
type: path
- info:
name: EditDataConnection
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/data-connections/:dataConnectionId
params:
- name: dataConnectionId
value: ''
type: path
body:
type: json
data: '{}'
- info:
name: ListDataConnections
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/data-connections
params:
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: limit
value: ''
type: query
- name: sortBy
value: ''
type: query
- name: sortDirection
value: ''
type: query
- info:
name: CreateDataConnection
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/data-connections
body:
type: json
data: '{}'
- info:
name: UpdateDataConnectionSchema
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/data-connections/:dataConnectionId/schema
params:
- name: dataConnectionId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Use this endpoint to add or remove a status (including endorsements) from databases, schemas, and tables
within a data connection
This endpoint uses atomic semantics - if any update in the batch fails validation,
the entire request fails and no changes are applied'
- info:
name: Me
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/users/me
- info:
name: ListUsers
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/users
params:
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: limit
value: ''
type: query
- name: sortBy
value: ''
type: query
- name: sortDirection
value: ''
type: query
- name: groupId
value: ''
type: query
- info:
name: DeactivateUser
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/users/:userId/deactivate
params:
- name: userId
value: ''
type: path
- info:
name: GetCollection
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/collections/:collectionId
params:
- name: collectionId
value: ''
type: path
- info:
name: EditCollection
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/collections/:collectionId
params:
- name: collectionId
value: ''
type: path
body:
type: json
data: '{}'
- info:
name: ListCollections
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/collections
params:
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: limit
value: ''
type: query
- name: sortBy
value: ''
type: query
- info:
name: CreateCollection
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/collections
body:
type: json
data: '{}'
- info:
name: ListDraftGuides
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/guides/draft/list
params:
- name: limit
value: ''
type: query
- name: after
value: ''
type: query
- name: before
value: ''
type: query
- name: externalSource
value: ''
type: query
description: 'A JSON stringified, URI encoded external source locator
example: encodeURIComponent(JSON.stringify({"source":"github","owner":"my-org","repo":"my-repo","baseUrl":"https://github.com"}))'
- info:
name: UpsertGuideDraft
type: http
http:
method: PUT
url: https://app.hex.tech/api/v1/guides/draft
body:
type: json
data: '{}'
docs: 'Update or create guide drafts by filePath.
Accepts a dictionary mapping file paths to their contents.
For each file:
- If the guide doesn''t exist, it will be created.
- If the guide exists but has no draft, a new draft will be created.
- If the guide exists with a draft, the draft contents will be updated.'
- info:
name: PublishGuideDrafts
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/guides/publish
body:
type: json
data: '{}'
docs: Publish all currently drafted guides.
- info:
name: DeleteGuideDraft
type: http
http:
method: DELETE
url: https://app.hex.tech/api/v1/guides/draft/:orgGuideFileId
params:
- name: orgGuideFileId
value: ''
type: path
- info:
name: ListCells
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/cells
params:
- name: projectId
value: ''
type: query
- name: limit
value: ''
type: query
- name: after
value: ''
type: query
- name: before
value: ''
type: query
docs: 'List all cells
Returns cells from the draft version of the project only, not the published app.
Requires a project id for filtering.
For SQL and CODE cells, includes the source code content.'
- info:
name: CreateCell
type: http
http:
method: POST
url: https://app.hex.tech/api/v1/cells
body:
type: json
data: '{}'
docs: 'Create a new cell
Creates a new cell in the draft version of a project.
Currently only CODE and SQL cell types are supported.
Requires EDIT_PROJECT_CONTENTS permission on the project.'
- info:
name: GetCell
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/cells/:cellId
params:
- name: cellId
value: ''
type: path
docs: 'Get a single cell by ID
Returns cells from the draft version of the project only, not the published app.
Returns the cell details including id, staticId, cellType, label, dataConnectionId,
source contents (for CODE and SQL cells), and projectId.'
- info:
name: UpdateCell
type: http
http:
method: PATCH
url: https://app.hex.tech/api/v1/cells/:cellId
params:
- name: cellId
value: ''
type: path
body:
type: json
data: '{}'
docs: 'Update a cell''s source and/or data connection
Updates the source code and/or data connection ID for a cell.
For SQL cells, can update SQL source and data connection ID.
For code cells, can update code source.
Requires EDIT_PROJECT_CONTENTS permission on the project containing the cell.'
- info:
name: DeleteCell
type: http
http:
method: DELETE
url: https://app.hex.tech/api/v1/cells/:cellId
params:
- name: cellId
value: ''
type: path
docs: 'Delete a cell
Permanently deletes a cell from the draft version of a project.
Requires EDIT_PROJECT_CONTENTS permission on the project containing the cell.'
- info:
name: GetChartImageFromLogic
type: http
http:
method: GET
url: https://app.hex.tech/api/v1/cells/:cellId/image
params:
- name: cellId
value: ''
type: path
docs: 'Get the rendered PNG image of a chart cell from the current notebook session by cellId.
The "cellId" path parameter should be the cell''s ID (scoped to a
specific version), as opposed to its staticId (which remains stable across versions).
Returns a JSON object containing the base64-encoded PNG image of the chart cell
as it currently appears in the Logic view, along with the cell ID and MIME type.
The cell must have been executed and must not be in an error state.
Only chart-type cells are suppo'
bundled: true