Skip to main content
Omni APIs are versioned by endpoint. In this reference, endpoints are grouped by resource type. For example, the AI APIs section lists the endpoints related to the Omni Agent and other AI features.

Who am I?

EndpointDescriptionVersion + Status
GET /v1/whoamiRetrieve the authenticated caller’s own identity, API key scope, organization role, and resolved per-model permissions. Supports filtering to specific models.v1 (latest)

AI

Branding

EndpointDescriptionVersion + Status
GET /v1/ai/brandingReturn the organization’s AI Agent’s branding configuration, including display name, custom logo URL, and copy for AI Agent landing surfaces.v1 (latest)

Conversations

EndpointDescriptionVersion + Status
GET /v1/ai/conversationsList a user’s recent AI conversations, ordered by most-recent activity.v1 (latest)
GET /v1/ai/conversations/:conversationIdRetrieve a conversation with its full message history — alternating user and assistant turns.v1 (latest)

Credit Controls

EndpointDescriptionVersion + Status
PATCH /v1/ai/credit-controls/usersSet individual users’ AI credit limits in bulk.v1 (latest)
PATCH /v1/ai/credit-controlsUpdate the organization’s AI credit controls.v1 (latest)
GET /v1/ai/credit-controlsGet the organization’s current AI credit control settings, usage for the current billing period, and the billing period bounds.v1 (latest)
GET /v1/ai/credit-controls/usersList the organization’s active individual user AI credit limits, ordered by userId ascending.v1 (latest)

Evals

EndpointDescriptionVersion + Status
POST /v1/ai/eval/prompt-setsCreate a new eval prompt set bound to a shared model.v1 (latest)
PATCH /v1/ai/eval/prompt-sets/:promptSetIdUpdate a prompt set’s name, description, and/or prompts.v1 (latest)
GET /v1/ai/eval/prompt-setsList eval prompt sets, sorted alphabetically by name.v1 (latest)
GET /v1/ai/eval/prompt-sets/:promptSetIdGet a single prompt set with all of its prompts.v1 (latest)
DELETE /v1/ai/eval/prompt-sets/:promptSetIdArchive (soft-delete) a prompt set.v1 (latest)
POST /v1/ai/eval/prompt-sets/:promptSetId/unarchiveRestore an archived prompt set.v1 (latest)
POST /v1/ai/eval/runsCreate and start a new run against an existing prompt set.v1 (latest)
GET /v1/ai/eval/runsList runs for a prompt set, newest first, filtered to runs whose model the caller can access.v1 (latest)
GET /v1/ai/eval/runs/:runIdGet an eval run with every per-prompt result row, including the underlying agentic job state and any scoring data.v1 (latest)
POST /v1/ai/eval/runs/:runId/cancelCancel an in-progress eval run.v1 (latest)
POST /v1/ai/eval/runs/:runId/unarchiveRestore an archived eval run.v1 (latest)
DELETE /v1/ai/eval/runs/:runIdArchive (soft-delete) an eval run.v1 (latest)

Model Suggestions

EndpointDescriptionVersion + Status
POST /v1/models/:modelId/suggestions/generateTrigger an AI suggestion generation run for the shared model and enqueue the async job.v1 (latest)
GET /v1/models/:modelId/suggestionsList AI-generated suggestions for a shared model.v1 (latest)
POST /v1/models/:modelId/suggestions/:suggestionId/ignoreDismiss a suggestion, removing it from the active list.v1 (latest)
POST /v1/models/:modelId/suggestions/:suggestionId/restoreRestore a previously dismissed suggestion back to the active list.v1 (latest)
DELETE /v1/models/:modelId/suggestions/:suggestionIdPermanently delete a suggestion.v1 (latest)
GET /v1/models/:modelId/suggestions/runs/latestRetrieve the most recent generation run for the shared model.v1 (latest)
GET /v1/models/:modelId/suggestions/runs/:runIdRetrieve the status of a specific generation run.v1 (latest)
PUT /v1/models/:modelId/suggestions/scheduleEnable the daily generation schedule for AI model suggestions on a shared model.v1 (latest)
DELETE /v1/models/:modelId/suggestions/scheduleDisable the daily generation schedule for AI model suggestions on a shared model.v1 (latest)

Queries and jobs

EndpointDescriptionVersion + Status
POST /v1/ai/generate-queryGenerate a structured Omni query from natural language using AI.v1 (latest)
POST /v1/ai/pick-topicAnalyze a natural language prompt and determine which topic in the model is the best fit for answering the question.v1 (latest)
POST /v1/ai/jobsSubmit a new AI job for asynchronous execution.v1 (latest)
GET /v1/ai/jobs/:jobIdRetrieve the current status and details of an AI job, including its state, progress information, and result summary.v1 (latest)
POST /v1/ai/jobs/:jobId/cancelRequest cancellation of an AI job.v1 (latest)
GET /v1/ai/jobs/:jobId/resultRetrieve the full result of a completed AI job, including all actions taken by the AI and the final summarized answer.v1 (latest)

Routines

EndpointDescriptionVersion + Status
POST /v1/ai/routinesCreate a new routine that will run on the specified schedule.v1 (latest)
PUT /v1/ai/routines/:routineIdUpdate an existing routine.v1 (latest)
GET /v1/ai/routinesList routines for the calling user, newest first.v1 (latest)
GET /v1/ai/routines/:routineIdRetrieve details for a specific routine by ID, including the status of its most recent completed run.v1 (latest)
POST /v1/ai/routines/:routineId/triggerRun an existing routine immediately, in addition to its schedule.v1 (latest)
DELETE /v1/ai/routines/:routineIdDelete a routine.v1 (latest)

API tokens

EndpointDescriptionVersion + Status
PUT /v1/api-keys/:idDisable or re-enable an API token.v1 (latest)
GET /v1/api-keysList API token in the organization - including Organization API keys, Personal Access Tokens, and MCP OAuth grants - with optional filtering by type.v1 (latest)
GET /v1/api-keys/:idRetrieve a single API token by ID.v1 (latest)
DELETE /v1/api-keys/:idPermanently delete an API token.v1 (latest)

Connections

EndpointDescriptionVersion + Status
POST /v1/connectionsCreate a new database connection.v1 (latest)
PATCH /v1/connections/:connectionIdUpdate connection properties including credentials.v1 (latest)
GET /v1/connectionsRetrieve a list of database connections with optional filtering and sorting.v1 (latest)
GET /v1/connections/:connectionIdFetch a single connection by ID.v1 (latest)
DELETE /v1/connections/:connectionIdArchive a connection (moves it to trash).v1 (latest)

Connection environments

EndpointDescriptionVersion + Status
POST /v1/connection-environmentsCreate a connection environment and associate it with a base connection.v1 (latest)
PUT /v1/connection-environments/:connectionEnvironmentIdAssociate user attribute values with a specific connection environment to determine when the environment is used.v1 (latest)
DELETE /v1/connection-environments/:connectionEnvironmentIdDelete a connection environment by ID.v1 (latest)

dbt configuration

EndpointDescriptionVersion + Status
PUT /v1/connections/:connectionId/dbtUpdate the dbt configuration for the specified connection.v1 (latest)
GET /v1/connections/:connectionId/dbtRetrieve the dbt configuration for the specified connection.v1 (latest)
DELETE /v1/connections/:connectionId/dbtRemove the dbt configuration for the specified connection.v1 (latest)

dbt environments

EndpointDescriptionVersion + Status
POST /v1/connections/:connectionId/dbt/environmentsCreate a new dbt environment on the specified connection, enabling programmatic environment management.v1 (latest)
PUT /v1/connections/:connectionId/dbt/environments/:environmentIdUpdate an existing dbt environment on the specified connection.v1 (latest)
GET /v1/connections/:connectionId/dbt/environmentsRetrieve a list of all dbt environments configured for the specified connection.v1 (latest)
DELETE /v1/connections/:connectionId/dbt/environments/:environmentIdDelete an existing dbt environment from the specified connection.v1 (latest)

Schema refreshes

EndpointDescriptionVersion + Status
POST /v1/connections/:connectionId/schedulesCreate a new schema refresh schedule for the specified connection.v1 (latest)
PUT /v1/connections/:connectionId/schedules/:scheduleIdUpdate the schedule and/or timezone for an existing schema refresh schedule.v1 (latest)
GET /v1/jobs/:jobId/statusRetrieve the current status of an asynchronous job.v1 (latest)
GET /v1/connections/:connectionId/schedulesRetrieve all schema refresh schedules configured for the specified connection.v1 (latest)
GET /v1/connections/:connectionId/schedules/:scheduleIdRetrieve the details of a connection’s specific schema refresh schedule.v1 (latest)
DELETE /v1/connections/:connectionId/schedules/:scheduleIdDelete a schema refresh schedule.v1 (latest)

Content

EndpointDescriptionVersion + Status
GET /v1/contentRetrieve a paginated list of documents and folders.v1 (latest)
GET /unstable/documents/:dashboardId/exportExport a dashboard for migration between Omni instances.unstable (beta)
POST /unstable/documents/importImport a dashboard to an Omni instance.unstable (beta)

Dashboards

Downloads

EndpointDescriptionVersion + Status
POST /v1/dashboards/:dashboardId/downloadStart an asynchronous download job for a dashboard or single tile with support for multiple output formats.v1 (latest)
GET /v1/dashboards/:dashboardId/download/:jobId/statusRetrieve the current status of a dashboard or tile download job. Poll this endpoint to determine when the file is ready.v1 (latest)
GET /v1/dashboards/:dashboardId/download/:jobIdRetrieve the completed dashboard or tile download file.v1 (latest)

Filters

EndpointDescriptionVersion + Status
PATCH /v1/dashboards/:dashboardId/filtersSet or reset values for filters and/or controls on a dashboard.v1 (latest)
GET /v1/dashboards/:dashboardId/filtersRetrieve the filter and control configuration for a dashboard.v1 (latest)

Documents

Draft and publish

EndpointDescriptionVersion + Status
POST /v2/documentsCreate a brand-new document and publish it.v2 (latest)
PATCH /v2/documents/:documentId/draftCreate a new draft on the published document and apply the patch.v2 (latest)
PATCH /v2/documents/:documentId/draft/:draftIdApply a patch to an existing draft addressed by draftId.v2 (latest)
POST /v2/documents/:documentId/draft/publishPublish the document’s current main (non-branch) draft, promoting it to the published version.v2 (latest)
POST /v1/documents/:documentId/upgradeUpgrade a classic document to the new dashboard editor.v1 (latest)
GET /v2/documents/:documentIdRead the document’s published state.v2 (latest)
GET /v1/documents/:documentId/draftsList all drafts attached to a published document.v1 (latest)
GET /v2/documents/:documentId/draft/:draftIdRead the named draft’s state.v2 (latest)
DELETE /v1/documents/:documentId/draftArchive the current draft of the specified document.v1 (latest)
DELETE /v2/documents/:documentId/draft/:draftId/dashboardRemove the dashboard from an existing draft, leaving a workbook-only document.v2 (latest)
DELETE /v1/documents/:documentIdDelete document (moves to Trash).v1 (latest)

Favorites

EndpointDescriptionVersion + Status
PUT /v1/documents/:documentId/favoriteAdd a document to a user’s favorites.v1 (latest)
GET /v1/documents/:documentId/favoritesList users who have favorited a published document, paginated and sorted by favoritedAt.v1 (latest)
DELETE /v1/documents/:documentId/favoriteRemove a document from a user’s favorites.v1 (latest)

Labels

EndpointDescriptionVersion + Status
PATCH /v1/documents/:documentId/labelsAdd and/or remove multiple labels from a document in a single atomic operation.v1 (latest)
PUT /v1/documents/:documentId/labels/:labelNameApply an existing label to a document.v1 (latest)
DELETE /v1/documents/:documentId/labels/:labelNameRemove an existing label from a document.v1 (latest)

Management

EndpointDescriptionVersion + Status
GET /v1/documentsList documents with pagination and filtering.v1 (latest)
PUT /v2/documents/:documentId/identifierRename a published document’s identifier.v2 (latest)
PUT /v1/documents/:documentId/moveMove document to new folder or change scope.v1 (latest)
POST /v1/documents/:documentId/duplicateDuplicate a published document.v1 (latest)
PUT /v1/documents/:documentId/transfer-ownershipTransfer ownership of a document to another user in the organization.v1 (latest)

Permissions

EndpointDescriptionVersion + Status
POST /v1/documents/:documentId/permissionsGrant document permissions to users or groups.v1 (latest)
PUT /v1/documents/:documentId/permissionsUpdate the permission and interactivity settings for a document.v1 (latest)
PATCH /v1/documents/:documentId/permissionsUpdate existing document permissions for users or groups.v1 (latest)
GET /v1/documents/:documentId/access-listList all users and groups with access to a document.v1 (latest)
GET /v1/documents/:documentId/permissionsRetrieve the document-level ability values, plus the resolved permits for a specific user when userId is provided.v1 (latest)
DELETE /v1/documents/:documentId/permissionsRevoke document permissions for users or user groups.v1 (latest)

Deprecated (v1)

The following endpoints are scheduled to be removed on July 31, 2026. Use the v2 document APIs instead.
EndpointDescriptionVersion + Status
POST /v1/documentsCreate a new document.v1 (deprecated)
POST /v1/documents/:documentId/draftCreate a draft of the specified document.v1 (deprecated)
PUT /v1/documents/:documentIdUpdate a document with the specified identifier.v1 (deprecated)
PATCH /v1/documents/:documentIdUpdate the name, description, and/or identifier of a document.v1 (deprecated)
GET /v1/documents/:documentId/queriesRetrieve queries associated with a document by its identifier.v1 (deprecated)
GET /v1/documents/:documentIdRetrieve dashboard document configuration in a format compatible with PUT for round-trip editing.v1 (deprecated)

Folders

EndpointDescriptionVersion + Status
GET /v1/foldersRetrieve a paginated list of folders within an organization.v1 (latest)
POST /v1/foldersCreate a new folder.v1 (latest)
PATCH /v1/folders/:folderIdUpdate a folder’s name and/or path segment.v1 (latest)
DELETE /v1/folders/:folderIdDelete a folder.v1 (latest)

Permissions

EndpointDescriptionVersion + Status
POST /v1/folders/:folderId/permissionsGrant folder permissions to users or groups.v1 (latest)
PATCH /v1/folders/:folderId/permissionsUpdate existing folder permissions for users or groups.v1 (latest)
GET /v1/folders/:folderId/permissionsRetrieve folder permissions for a user.v1 (latest)
DELETE /v1/folders/:folderId/permissionsRevoke folder permissions from users or groups.v1 (latest)

Labels

EndpointDescriptionVersion + Status
POST /v1/labelsCreate a new label in the organization.v1 (latest)
PUT /v1/labels/:labelNameUpdate an existing label.v1 (latest)
GET /v1/labelsRetrieve all labels in the organization.v1 (latest)
GET /v1/labels/:labelNameRetrieve a single label by name.v1 (latest)
DELETE /v1/labels/:labelNameDelete a label from the organization.v1 (latest)

Models

EndpointDescriptionVersion + Status
POST /v1/modelsCreate a new model.v1 (latest)
PATCH /v1/models/:modelIdRename a model.v1 (latest)
POST /v1/models/:modelId/refreshRefresh the schema of the specified model.v1 (latest)
GET /v1/modelsRetrieve a paginated list of models with their metadata.v1 (latest)
GET /v1/models/:modelId/validateRetrieve validation issues for a model and its branches.v1 (latest)

Branches

EndpointDescriptionVersion + Status
POST /v1/models/:modelId/branch/:branchName/mergeMerge a model branch into the shared model.v1 (latest)
POST /v1/models/:modelId/branch/:branchName/dbtSet the active dbt environment on a model branch.v1 (latest)
DELETE /v1/models/:modelId/branch/:branchNameDelete a branch associated with the specified shared model.v1 (latest)

Content validator

EndpointDescriptionVersion + Status
GET /v1/models/:modelId/content-validatorValidate all content against the model and return documents with queries and any validation issues.v1 (latest)
POST /v1/models/:modelId/content-validatorPerform find/replace operations on content using the specified model.v1 (latest)

Management

EndpointDescriptionVersion + Status
GET /v1/models/:modelId/ai-agent-actionsReturn AI agent actions configured for a model.v1 (latest)
POST /v1/models/:modelId/cache_reset/:cachePolicyNameReset the cache for the specified cache policy.v1 (latest)
GET /v1/models/:modelId/schemasRetrieve a sorted list of all available schema names for the specified model, including physical, virtual, and dynamic schemas.v1 (latest)
GET /v1/models/:modelId/dbt-exposuresRetrieve dbt exposures for the specified model.v1 (latest)

Git

EndpointDescriptionVersion + Status
GET /v1/models/:modelId/gitRetrieve the Git configuration for a shared model.v1 (latest)
POST /v1/models/:modelId/gitCreate a new Git configuration for a shared model.v1 (latest)
PATCH /v1/models/:modelId/gitUpdate the Git configuration for a shared model.v1 (latest)
DELETE /v1/models/:modelId/gitRemove the Git configuration from a shared model.v1 (latest)
POST /v1/models/:modelId/git/syncTrigger a sync operation between the model and its configured Git repository.v1 (latest)
POST /v1/models/:modelId/git/commitPush a branch’s model contents to Git and create or update a pull request.v1 (latest)
POST /v1/models/:modelId/migrateCopy a model from one Omni connection to another by reading the source model’s YAML at a specific Git ref and writing it to the target model.v1 (latest)

Topics

EndpointDescriptionVersion + Status
GET /v1/models/:modelId/topic/:topicNameRetrieve a topic in a model by name.v1 (latest)

Views

EndpointDescriptionVersion + Status
DELETE /v1/models/:modelId/view/:viewNameDelete or ignore a view in a model.v1 (latest)

YAML files

EndpointDescriptionVersion + Status
POST /v1/models/:modelId/yamlCreate or overwrite a YAML file for a model.v1 (latest)
GET /v1/models/:modelId/yamlRetrieve the YAML representation of a model with optional filtering and mode selection.v1 (latest)
DELETE /v1/models/:modelId/yamlDelete a topic or view YAML file from a model.v1 (latest)

Queries

EndpointDescriptionVersion + Status
POST /v1/query/runRun the query specified in the request body.v1 (latest)
GET /v1/query/waitPoll for the results of one or more query jobs.v1 (latest)

Schedules

EndpointDescriptionVersion + Status
POST /v1/schedulesCreate a scheduled task for the specified dashboard.v1 (latest)
PUT /v1/schedules/:scheduleIdUpdate the specified task. Changes are applied to future runs; in-progress jobs are unaffected.v1 (latest)
PUT /v1/schedules/:scheduleId/transfer-ownershipImmediately transfer ownership of a schedule from one user to another user in the same organization.v1 (latest)
GET /v1/schedulesRetrieve a list of scheduled tasks.v1 (latest)
GET /v1/schedules/:scheduleIdReturn the details of a single schedule, including its delivery destinations, recurrence configuration, and current status.v1 (latest)
DELETE /v1/schedules/:scheduleIdDelete a schedule.v1 (latest)

Runs

EndpointDescriptionVersion + Status
POST /v1/schedules/:scheduleId/triggerTrigger the execution of a schedule on demand.v1 (latest)
PUT /v1/schedules/:scheduleId/pausePause a schedule.v1 (latest)
PUT /v1/schedules/:scheduleId/resumeResume a schedule.v1 (latest)

Recipients

EndpointDescriptionVersion + Status
PUT /v1/schedules/:scheduleId/add-recipientsAdd one or more recipients to an existing scheduled email task.v1 (latest)
PUT /v1/schedules/:scheduleId/remove-recipientsRemove one or more recipients from an existing scheduled email task.v1 (latest)
POST /v1/users/email-onlyCreate or update an email-only user.v1 (latest)
POST /v1/users/email-only/bulkCreate or update up to 20 email-only users.v1 (latest)
GET /v1/schedules/:scheduleId/recipientsRetrieve the list of recipients for the specified schedule.v1 (latest)

Uploads

EndpointDescriptionVersion + Status
POST /v1/uploadsUpload a CSV file to create a new data input table.v1 (latest)
GET /v1/uploadsList all uploads (CSV files and spreadsheets) in the organization.v1 (latest)
DELETE /v1/uploads/:uploadIdDelete a CSV upload by its ID.v1 (latest)

Users

EndpointDescriptionVersion + Status
POST /scim/v2/usersCreate a user.v2 (latest)
PUT /scim/v2/users/:userIdReplace the specified user.v2 (latest)
PATCH /scim/v2/users/:userIdUpdate the specified user by applying a list of SCIM 2.0 patch operations.v2 (latest)
GET /scim/v2/users/:userIdRetrieve a user using their unique ID.v2 (latest)
GET /scim/v2/usersReturn a list of users, sorted by creation time.v2 (latest)
DELETE /scim/v2/users/:userIdDelete the specified user.v2 (latest)

Email-only users

EndpointDescriptionVersion + Status
GET /v1/users/email-onlyRetrieve email-only users with their user attributes, with support for cursor-based pagination and filtering.v1 (latest)

Embed users

EndpointDescriptionVersion + Status
GET /scim/v2/embed/usersRetrieve a list of embed users, sorted by creation time.v2 (latest)
GET /scim/v2/embed/users/:userIdRetrieve an embed user using their unique ID.v2 (latest)
DELETE /scim/v2/embed/users/:userIdDelete the specified embed user.v2 (latest)

Model roles

EndpointDescriptionVersion + Status
POST /v1/users/:userId/model-rolesAssign or update a model role for a user.v1 (latest)
GET /v1/users/:userId/model-rolesRetrieve the model role assignments for a user.v1 (latest)

User attributes

EndpointDescriptionVersion + Status
GET /v1/user-attributesRetrieve all user attribute definitions in the organization, including custom-defined and system-defined attributes.v1 (latest)

User groups

EndpointDescriptionVersion + Status
POST /scim/v2/groupsCreate a user group.v2 (latest)
PUT /scim/v2/groups/:userGroupIdReplace the specified user group.v2 (latest)
PATCH /scim/v2/groups/:userGroupIdUpdate the specified user group by applying a list of v2 patch operations.v2 (latest)
GET /scim/v2/groupsReturn a list of user groups, sorted by creation time.v2 (latest)
GET /scim/v2/groups/:userGroupIdRetrieve a user group using its unique ID.v2 (latest)
DELETE /scim/v2/groups/:userGroupIdDelete the specified user group.v2 (latest)

Model roles

EndpointDescriptionVersion + Status
POST /v1/user-groups/:userGroupId/model-rolesAssign or update a model role for a user group.v1 (latest)
GET /v1/user-groups/:userGroupId/model-rolesRetrieve the model role assignments for a user group.v1 (latest)