Skip to main content

Hex API (1.0.0)

Download OpenAPI specification:Download

License: UNLICENSED

API specification for the Hex External API

GetProject

Get metadata about a single project.

Authorizations:
bearerAuth
path Parameters
projectId
required
string <uuid> (ProjectId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 hex in the URL.

query Parameters
includeSharing
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "title": "string",
  • "description": "string",
  • "type": "PROJECT",
  • "creator": {
    },
  • "owner": {
    },
  • "status": {
    },
  • "categories": [
    ],
  • "reviews": {
    },
  • "analytics": {
    },
  • "lastEditedAt": "string",
  • "lastPublishedAt": "string",
  • "createdAt": "string",
  • "archivedAt": "string",
  • "trashedAt": "string",
  • "schedules": [
    ],
  • "sharing": {
    }
}

ListProjects

List all viewable projects, sorted by most recently created first.

Authorizations:
bearerAuth
query Parameters
includeArchived
boolean
Default: false
includeComponents
boolean
Default: false
includeTrashed
boolean
Default: false
includeSharing
boolean
Default: false
statuses
Array of strings
Default: ""
categories
Array of strings
Default: ""
creatorEmail
string
Default: null
ownerEmail
string
Default: null
limit
integer <int32> (PageSize) [ 1 .. 100 ]
Default: "25"

Number of results to fetch per page for paginated requests

after
any
Default: null
before
any
Default: null
sortBy
string (SortByEnum)
Enum: "CREATED_AT" "LAST_EDITED_AT" "LAST_PUBLISHED_AT"
sortDirection
string (SortDirectionEnum)
Enum: "DESC" "ASC"

Responses

Response samples

Content type
application/json
{
  • "values": [
    ],
  • "pagination": {
    }
}

RunProject

Trigger a run of the latest published version of a project.

Authorizations:
bearerAuth
path Parameters
projectId
required
string <uuid> (ProjectId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 hex in the URL.

Request Body schema: application/json
optional
inputParams
object

Optionally specify input parameters for this project run. These should be structured as a dictionary of key/value pairs, where the key name matches the name of the variable in the Hex project.

Only parameters that are added to the published app can be set via this request parameter. Any additional inputs will be ignored.

If no input parameters are provided, the project will be run with the default input values. Note that if input parameters are provided, this run will not be able to update the cached values for the project, and the updateCache setting (below) will be ignored.

dryRun
boolean
Default: "false"

When true, this endpoint will perform a dry run that does not run the project. This can be useful for validating the structure of an API call, and inspecting a dummy response, without running a project.

updateCache
boolean
Deprecated
Array of objects (ProjectRunNotification)

Optionally specify a list of notification details that will be delivered once a project run completes. Notifications can be configured for delivery to Slack channels, Hex users, or Hex groups.

updatePublishedResults
boolean
Default: "false"

When true, the cached state of the published app will be updated with the latest run results. You must have at least "Can Edit" permissions on the project to do so. Note: this cannot be set to true if custom input parameters are provided.

useCachedSqlResults
boolean
Default: "true"

When false, the project will run without using any cached SQL results, and will update those cached SQL results.

Responses

Request samples

Content type
application/json
{
  • "inputParams": {
    },
  • "dryRun": "false",
  • "updateCache": true,
  • "notifications": [
    ],
  • "updatePublishedResults": "false",
  • "useCachedSqlResults": "true"
}

Response samples

Content type
application/json
{
  • "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  • "runId": "78c33d18-170c-44d3-a227-b3194f134f73",
  • "runUrl": "string",
  • "runStatusUrl": "string",
  • "traceId": "string",
  • "projectVersion": 0,
  • "notifications": [
    ]
}

GetProjectRuns

Get the status of the API-triggered runs of a project.

Authorizations:
bearerAuth
path Parameters
projectId
required
string <uuid> (ProjectId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 hex in the URL.

query Parameters
limit
integer <int32> (PageSize) [ 1 .. 100 ]
Default: "25"

Number of results to fetch per page for paginated requests

offset
integer <int32> (Offset) >= 0
Default: "0"

Offset for paginated requests

statusFilter
string (ProjectRunStatus)
Enum: "PENDING" "RUNNING" "ERRORED" "COMPLETED" "KILLED" "UNABLE_TO_ALLOCATE_KERNEL"

Current status of a project run

Responses

Response samples

Content type
application/json
{
  • "runs": [
    ],
  • "nextPage": "string",
  • "previousPage": "string",
  • "traceId": "string"
}

GetRunStatus

Get the status of a project run.

Authorizations:
bearerAuth
path Parameters
projectId
required
string <uuid> (ProjectId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 hex in the URL.

runId
required
string <uuid> (InputRunId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 the specific runs for a project.

Responses

Response samples

Content type
application/json
{
  • "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  • "projectVersion": 0,
  • "runId": "78c33d18-170c-44d3-a227-b3194f134f73",
  • "runUrl": "string",
  • "status": "PENDING",
  • "startTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "elapsedTime": 0.1,
  • "traceId": "string",
  • "notifications": [
    ]
}

CancelRun

Cancel a project run.

Authorizations:
bearerAuth
path Parameters
projectId
required
string <uuid> (ProjectId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 hex in the URL.

runId
required
string <uuid> (InputRunId) ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

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 the specific runs for a project.

Responses

Response samples

Content type
application/json
{
  • "details": "string",
  • "traceId": "string",
  • "reason": "string"
}