Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Hex Projects API

The Projects API from Hex — 10 operation(s) for projects.

Hex Projects API is one of 9 APIs that Hex publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Projects. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 14 operations across 10 paths, and defines 66 schemas. It is described by OpenAPI 3.0.0, at version 1.0.0.

Requests are made against a single base URL, https://app.hex.tech/api.

14 operations 10 paths 66 schemas 1 DELETE6 GET5 PATCH2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
1.0.0
Base URL
https://app.hex.tech/api/v1
Authentication
HTTP Bearer
License
UNLICENSED
Resource Areas
1

Authentication & Security 1

Hex Projects API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (bearerAuth). By default, every request must be authenticated.

Paths & Operations 14

Across 10 paths, the API surfaces 14 operations — 1 DELETE, 6 GET, 5 PATCH, 2 POST. Each is listed below with its method, path, parameters, and response codes.

Projects 14
POST
/v1/projects
Create a new project. Creates a new project in the workspace with the specified title. Optionally provide a description and project language.
CreateProject body → 201400403500
GET
/v1/projects
List all viewable projects, sorted by most recently created first.
ListProjects 14 params → 200400403
GET
/v1/projects/{projectId}
Get metadata about a single project.
GetProject 2 params → 200403404
PATCH
/v1/projects/{projectId}
Use this endpoint to add or remove a status (including endorsements) from a project
UpdateProject 1 param body → 200400403404500
GET
/v1/projects/{projectId}/queriedTables
Given a project ID, return the list of warehouse tables queried in the project.
GetQueriedTables 4 params → 200400403404422500
PATCH
/v1/projects/{projectId}/sharing/collections
Add a project to collections or remove it from collections. For projects, use CANVIEW to grant the UI permission labeled "Can explore". Use APPONLY to grant the UI permission labeled "Can view app".…
EditProjectSharingCollections 1 param body → 200400403404500
PATCH
/v1/projects/{projectId}/sharing/workspaceAndPublic
Update workspace or public-web sharing for a project. For projects, use CANVIEW to grant the UI permission labeled "Can explore". Use APPONLY to grant the UI permission labeled "Can view app".
EditProjectSharingOrgAndPublic 1 param body → 200400403404500
PATCH
/v1/projects/{projectId}/sharing/groups
Add groups to a project or update/remove their project sharing access. For projects, use CANVIEW to grant the UI permission labeled "Can explore". Use APPONLY to grant the UI permission labeled "Can…
EditProjectSharingGroups 1 param body → 200400403404500
PATCH
/v1/projects/{projectId}/sharing/users
Add users to a project or update/remove their project sharing access. For projects, use CANVIEW to grant the UI permission labeled "Can explore". Use APPONLY to grant the UI permission labeled "Can v…
EditProjectSharingUsers 1 param body → 200400403404500
POST
/v1/projects/{projectId}/runs
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.
RunProject 2 params body → 201400403422503
GET
/v1/projects/{projectId}/runs
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.
GetProjectRuns 5 params → 200400403422
GET
/v1/projects/{projectId}/runs/{runId}
Get the status of a project run.
GetRunStatus 3 params → 200400403422
DELETE
/v1/projects/{projectId}/runs/{runId}
Cancel a project run.
CancelRun 2 params → 204400403422
GET
/v1/projects/{projectId}/runs/{runId}/cells/{staticId}/image
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…
GetChartImageFromRun 3 params → 200400403404422500

Schemas 66

The contract defines 66 schemas that model the data the API accepts and returns. The most detailed are ProjectApiResource (17 properties), ProjectStatusResponsePayload (13 properties), ProjectRunNotification (8 properties), ScheduleApiResource (7 properties). Each schema is shown below with its type and property counts.

TimezoneDesignator
string
An ISO 8601 timezone designator like +08:00.
StaticCellId
string
Unique static ID for a cell. This can be found by going into the menu of a cell in the notebook.
ResponseRunId
string
Unique ID for a run of a Hex project
EnumValues_typeofSortDirectionEnum_
string
EnumValues_typeofSortByEnum_
string
NotificationRecipient
object
3 properties 2 required
ProjectQueriedTablesApiResource
object
3 properties 3 required
ShareProjectWithGroupError
object
2 properties 2 required
UserId
string
Unique ID for a user. This can be found from the users page (in Settings).
EnumValues_typeofDayOfWeekApiEnum_
string
NotFoundParam
string
Name of an input parameter passed to the API call that was not found in the project.
TraceId
string
A unique identifier for this API request. The Hex Support team may request this value when debugging an issue.
DataConnectionId
string
Unique ID for a data connection.
EnumValues_typeofScheduleCadenceApiEnum_
string
ScreenshotFormatType
string
The file format of the generated screenshot.
RunStatusUrl
string
URL to query the status of the project run via the Hex API
DayOfWeekApiEnum
ShareProjectWithWorkspaceError
object
2 properties 2 required
PaginationApiResource
object
2 properties 2 required
ProjectRunNotificationRecipient
object
The recipient of a project run notification, which will include the type of recipient and additional configuration details. This is used to determine who to se…
7 properties 4 required
NextPageUrl
string
URL to fetch the next page of results for a paginated API request
EnumValues_typeofProjectTypeApiEnum_
string
ShareProjectWithUserError
object
2 properties 2 required
EnumValues_typeofRunTypeFilter_
string
AccessLevelEnum
Access level granted by sharing endpoints. For projects, CANVIEW is the API value that corresponds to the UI permission labeled "Can explore". APPONLY is the A…
InvalidParam
object
Information about an input parameter pass to the API call that could not be parsed.
4 properties 4 required
GroupId
string
Unique ID for a group. This can be found from the groups page (in Settings).
ChartImageFromRunResponsePayload
object
5 properties 5 required
ProjectRunsResponsePayload
object
4 properties 4 required
SortByEnum
RunUrl
string
URL to view the current progress of the project run in the Hex UI
TsoaErrorResponsePayload
object
3 properties 1 required
ProjectRunStatus
string
Current status of a project run
EditProjectSharingUsersResponse
object
2 properties 1 required
ProjectsListApiResource
object
2 properties 2 required
SharingResource
object
6 properties 6 required
RunTypeFilter
ProjectApiResource
object
17 properties 16 required
EditProjectSharingWorkspaceAndPublicResponse
object
2 properties 1 required
RunNotificationType
string
The condition that determines whether or not the notification should be delivered based on these types.
ApiPaginationCursor
string
A cursor string used with before and after parameters to paginate through a list of items on the API.
StateEvent
object
Response format returned by the runProject endpoint
3 properties 3 required
ProjectStatusRunTrigger
string
How a run of a project was triggered (API, SCHEDULED, or APPREFRESH)
ProjectQueriedTableResource
object
3 properties 3 required
NotificationRecipientType
string
The delivery type of a notification recipient.
ProjectVersion
integer
The version of the Hex project that was run. Project versions are ordered, starting at 1 and incrementing on each saved version. Project versions can be found…
EnumValues_typeofAccessLevelEnum_
string
InputRunId
string
Unique ID for a run of a Hex project. This ID is part of the response returned by the RunProject endpoint. The GetProjectRuns endpoint can also be used to find…
InvalidParamPayload
object
3 properties 3 required
SortDirectionEnum
CollectionId
string
Unique ID for a collection.
ProjectTypeApiEnum
The type of the ProjectApiResource being returned.
Offset
integer
Offset for paginated requests
ScheduleCadenceApiEnum
Types of cadence of a schedule for a Hex project.
ProjectRunResponsePayload
object
Response format returned by the runProject endpoint
7 properties 6 required
ScheduleApiResource
object
7 properties 7 required
Timestamp
string
An ISO 8601 timestamp with timezone like 1970-01-01T00:00:00Z.
EditProjectSharingGroupsResponse
object
2 properties 1 required
PublicWebAccessLevel
ProjectStatusResponsePayload
object
Response format returned by the getRunStatus endpoint
13 properties 10 required
ShareProjectWithCollectionError
object
2 properties 2 required
RunProjectRequestBody
object
Request body format for triggering a project run
7 properties
ProjectRunNotification
object
The configuration details for notifications, which are sent after a run has completed.
8 properties 2 required
PageSize
integer
Number of results to fetch per page for paginated requests
ProjectId
string
Unique ID for a Hex project. This can be found in the Variables side bar of the Logic View of a project, or by visiting the Project, and copying the UUID after…
EditProjectSharingCollectionsResponse
object
2 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

hexa-projects-api-openapi.yml Raw ↑

Other APIs Hex publishes across the network.

Hex Cells API
Hex Collections API
Hex Data Connections API
Hex Embedding API
Hex Groups API
Hex Guides API
Hex Semantic (projects|models) API
Hex Users API