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 — 11 operation(s) for projects.

Hex Projects API is one of 11 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 authentication docs.

This API exposes 15 operations across 11 paths, and defines 69 schemas. It is described by OpenAPI 3.0.3, at version 1.0.0.

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

15 operations 11 paths 69 schemas 1 DELETE6 GET5 PATCH3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
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 15

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

Projects 15
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}/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
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}
GetProject
GetProject 2 params → 200400401403404500
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
POST
/v1/projects/export
ExportProject
ExportProject body → 200400401403500
GET
/v1/projects/{projectId}/runs/{runId}/cells/{staticId}/image
GetChartImageFromRun
GetChartImageFromRun 6 params → 200400401403404500

Schemas 69

The contract defines 69 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.

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…
ProjectRunsResponsePayload
object
4 properties 4 required
EditProjectSharingUsersResponse
object
2 properties 1 required
EnumValues_typeofSortByEnum_
string
StateEvent
object
Response format returned by the runProject endpoint
3 properties 3 required
ProjectRunResponsePayload
object
Response format returned by the runProject endpoint
7 properties 6 required
EditProjectSharingCollectionsResponse
object
2 properties 1 required
ProjectQueriedTablesApiResource
object
3 properties 3 required
Offset
integer
Offset for paginated requests
SortByEnum
EnumValues_typeofAccessLevelEnum_
string
CollectionId
string
Unique ID for a collection.
InvalidParam
object
Information about an input parameter pass to the API call that could not be parsed.
4 properties 4 required
error.FORBIDDEN
object
The error information
3 properties 2 required
PaginationApiResource
object
2 properties 2 required
ProjectTypeApiEnum
The type of the ProjectApiResource being returned.
ShareProjectWithCollectionError
object
2 properties 2 required
ProjectApiResource
object
17 properties 16 required
RunUrl
string
URL to view the current progress of the project run in the Hex UI
EnumValues_typeofDayOfWeekApiEnum_
string
PublicWebAccessLevel
TsoaErrorResponsePayload
object
3 properties 1 required
EditProjectSharingWorkspaceAndPublicResponse
object
2 properties 1 required
ShareProjectWithUserError
object
2 properties 2 required
ScreenshotFormatType
string
The file format of the generated screenshot.
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…
PageSize
integer
Number of results to fetch per page for paginated requests
NotificationRecipient
object
3 properties 2 required
DataConnectionId
string
Unique ID for a data connection.
RunProjectRequestBody
object
Request body format for triggering a project run
7 properties
RunStatusUrl
string
URL to query the status of the project run via the Hex API
ProjectsListApiResource
object
2 properties 2 required
EditProjectSharingGroupsResponse
object
2 properties 1 required
ProjectRunNotification
object
The configuration details for notifications, which are sent after a run has completed.
8 properties 2 required
error.BAD_REQUEST
object
The error information
3 properties 2 required
EnumValues_typeofProjectTypeApiEnum_
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…
ApiPaginationCursor
string
A cursor string used with before and after parameters to paginate through a list of items on the API.
error.UNAUTHORIZED
object
The error information
3 properties 2 required
ProjectRunStatus
string
Current status of a project run
error.NOT_FOUND
object
The error information
3 properties 2 required
SortDirectionEnum
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…
NotificationRecipientType
string
The delivery type of a notification recipient.
NotFoundParam
string
Name of an input parameter passed to the API call that was not found in the project.
EnumValues_typeofSortDirectionEnum_
string
ScheduleCadenceApiEnum
Types of cadence of a schedule for a Hex project.
InvalidParamPayload
object
3 properties 3 required
RunTypeFilter
ProjectStatusRunTrigger
string
How a run of a project was triggered (API, SCHEDULED, or APPREFRESH)
ShareProjectWithWorkspaceError
object
2 properties 2 required
EnumValues_typeofRunTypeFilter_
string
ProjectStatusResponsePayload
object
Response format returned by the getRunStatus endpoint
13 properties 10 required
ProjectQueriedTableResource
object
3 properties 3 required
RunNotificationType
string
The condition that determines whether or not the notification should be delivered based on these types.
EnumValues_typeofScheduleCadenceApiEnum_
string
NextPageUrl
string
URL to fetch the next page of results for a paginated API request
ScheduleApiResource
object
7 properties 7 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
DayOfWeekApiEnum
GroupId
string
Unique ID for a group. This can be found from the groups page (in Settings).
SharingResource
object
6 properties 6 required
Timestamp
string
An ISO 8601 timestamp with timezone like 1970-01-01T00:00:00Z.
TraceId
string
A unique identifier for this API request. The Hex Support team may request this value when debugging an issue.
TimezoneDesignator
string
An ISO 8601 timezone designator like +08:00.
error.INTERNAL_SERVER_ERROR
object
The error information
3 properties 2 required
UserId
string
Unique ID for a user. This can be found from the users page (in Settings).
ResponseRunId
string
Unique ID for a run of a Hex project
ShareProjectWithGroupError
object
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

hex-projects-api-openapi.yml Raw ↑

Other APIs Hex publishes across the network.

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