{"openapi":"3.1.0","info":{"title":"Hex (BYOK) API","version":"0.1.0","description":"Hex (BYOK) lets an AI assistant read your own Hex data through the Hex API with a key you supply (API token). Read-only: 8 tools (get_me, list_projects, get_project, list_project_runs, get_run_status, list_data_connections, list_collections, list_groups). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-hex.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-hex/docs"},"termsOfService":"https://connectorbay.com/byok-hex/terms"},"servers":[{"url":"https://byok-hex.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-hex/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_me":{"post":{"operationId":"get_me","summary":"Show the Hex user and workspace the token belongs to: name, role, last login and organization id. Use for \"Which Hex use","description":"Show the Hex user and workspace the token belongs to: name, role, last login and organization id. Use for \"Which Hex user is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_meArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_projects":{"post":{"operationId":"list_projects","summary":"List Hex projects with title, type, status, owner, last edit and publish time and app views in the last 30 days. Newest ","description":"List Hex projects with title, type, status, owner, last edit and publish time and app views in the last 30 days. Newest first by default. Use for \"Which Hex projects were edited most recently\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Projects per page (1 to 100, default 25).","title":"Limit"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.after to get the next page.","title":"After"},"sort_by":{"anyOf":[{"enum":["CREATED_AT","LAST_EDITED_AT","LAST_PUBLISHED_AT"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort field.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"},"include_archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include archived projects.","title":"Include Archived"},"collection_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only projects in this collection id.","title":"Collection Id"}},"title":"list_projectsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_project":{"post":{"operationId":"get_project","summary":"Get one Hex project by id: title, description, type, status, timestamps and view counts. Use for \"When was the Hex proje","description":"Get one Hex project by id: title, description, type, status, timestamps and view counts. Use for \"When was the Hex project last published and how many views did it get\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Hex project id (UUID), as returned by list_projects.","maxLength":200,"title":"Project Id","type":"string"}},"required":["project_id"],"title":"get_projectArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_project_runs":{"post":{"operationId":"list_project_runs","summary":"List recent runs of a Hex project with status, trigger, start and end time and elapsed time. Use for \"Did the last runs ","description":"List recent runs of a Hex project with status, trigger, start and end time and elapsed time. Use for \"Did the last runs of my Hex project succeed\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Hex project id (UUID), as returned by list_projects.","maxLength":200,"title":"Project Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Runs to return (1 to 100, default 25).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many runs to skip.","title":"Offset"},"status_filter":{"anyOf":[{"enum":["PENDING","RUNNING","ERRORED","COMPLETED","KILLED","UNABLE_TO_ALLOCATE_KERNEL"],"type":"string"},{"type":"null"}],"default":null,"description":"Only runs with this status.","title":"Status Filter"},"run_trigger_filter":{"anyOf":[{"enum":["SCHEDULED","API","APP_REFRESH","ALL"],"type":"string"},{"type":"null"}],"default":null,"description":"Only runs with this trigger.","title":"Run Trigger Filter"}},"required":["project_id"],"title":"list_project_runsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_run_status":{"post":{"operationId":"get_run_status","summary":"Get the status of one Hex project run: state, trigger, timing and link to the run. Use for \"What is the status of Hex ru","description":"Get the status of one Hex project run: state, trigger, timing and link to the run. Use for \"What is the status of Hex run 0192f1b0-1111-7222-8333-944455566677\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"project_id":{"description":"Hex project id (UUID), as returned by list_projects.","maxLength":200,"title":"Project Id","type":"string"},"run_id":{"description":"Run id (UUID), as returned by list_project_runs.","maxLength":200,"title":"Run Id","type":"string"}},"required":["project_id","run_id"],"title":"get_run_statusArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_data_connections":{"post":{"operationId":"list_data_connections","summary":"List the data connections in the Hex workspace with name, type, description and sensitivity flags. Connection credential","description":"List the data connections in the Hex workspace with name, type, description and sensitivity flags. Connection credentials and hosts are not returned. Use for \"Which data connections does my Hex workspace have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Connections per page (1 to 100, default 25).","title":"Limit"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.after to get the next page.","title":"After"}},"title":"list_data_connectionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_collections":{"post":{"operationId":"list_collections","summary":"List Hex collections with name, description and creator id. Use for \"What collections exist in my Hex workspace\".","description":"List Hex collections with name, description and creator id. Use for \"What collections exist in my Hex workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Collections per page (1 to 100, default 25).","title":"Limit"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.after to get the next page.","title":"After"}},"title":"list_collectionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_groups":{"post":{"operationId":"list_groups","summary":"List Hex user groups with name and creation time. Use for \"Which user groups exist in my Hex workspace\".","description":"List Hex user groups with name and creation time. Use for \"Which user groups exist in my Hex workspace\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":500,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Groups per page (1 to 500, default 25).","title":"Limit"},"after":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from the previous answer's pagination.after to get the next page.","title":"After"},"sort_by":{"anyOf":[{"enum":["CREATED_AT","NAME"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort field.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction.","title":"Sort Direction"}},"title":"list_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}