Models

Create git configuration

post/api/v1/models/{modelId}/git

Path parameters

modelIdstring uuid required

Model UUID

Example:123e4567-e89b-12d3-a456-426614174000

Model UUID

Request body

authMethod'ssh' | 'https_token'

Authentication method. "ssh" for deploy key (default), "https_token" for deploy token/PAT.

baseBranchstring

The target branch for Omni pull requests. Defaults to "main"

branchPerPullRequestboolean

If true, all pull requests will create a branch in Omni. Defaults to false

cloneUrlstring

Clone URL of the git repository. SSH (git@...) for deploy key auth, HTTPS (https://...) for token auth.

gitFollowerboolean

If true, the shared model will be read-only. Defaults to false

gitServiceProvider'github' | 'gitlab' | 'azure_devops' | 'bitbucket' | 'bitbucket_datacenter' | 'auto'

The git provider type. Use "auto" for automatic detection. Defaults to "auto"

modelPathstring

Path to model files in the repository. Defaults to omni/<model-name>. Use a plain name (e.g., "my_model") for omni/my_model, or a leading slash for a custom path (e.g., "/bi/models/sales")

requirePullRequest'always' | 'users-only' | 'never'

Controls when pull requests are required. Defaults to "never"

sshUrlstring

Deprecated — use cloneUrl. Clone URL of the git repository.

tokenstring

HTTPS token for authentication (deploy token value, PAT, etc.). Required when authMethod is "https_token".

webUrlstring

Custom web URL for the git repository. Use when the clone URL goes through a tunnel/VPC and differs from the inferred HTTPS address

Example request

{
  "authMethod": "ssh",
  "baseBranch": "main",
  "cloneUrl": "git@github.com:org/repo.git",
  "gitServiceProvider": "auto",
  "modelPath": "my_model",
  "requirePullRequest": "never",
  "sshUrl": "git@github.com:org/repo.git",
  "webUrl": "https://github.com/org/repo"
}

Response

Git configuration created

authMethod'ssh' | 'https_token' required

Authentication method. "ssh" for deploy key, "https_token" for deploy token/PAT.

baseBranchstring required

The target branch for Omni pull requests

branchPerPullRequestboolean required

If true, all pull requests will create a branch in Omni, even those created outside of the tool

cloneUrlstring required

Clone URL of the git repository (SSH or HTTPS)

gitFollowerboolean required

If true, the shared model is read-only and can only be updated by merging pull requests to the base branch

gitServiceProviderstring required

The git provider type

modelPathstring nullable required

Path to model files in the repository

publicKeystring nullable required

SSH public key for repository access (deploy key). Null for HTTPS token auth.

requirePullRequest'always' | 'users-only' | 'never' required

When pull requests are required: "always" for all changes, "users-only" for user-initiated changes only, "never" for direct commits.

sshUrlstring required

Deprecated — use cloneUrl. Clone URL of the git repository.

webUrlstring nullable required

Custom web URL for the git repository, or null if not set

webhookSecretstring

Webhook secret for signature verification. Only included if requested via ?include=webhookSecret

webhookUrlstring required

Webhook URL to configure in your git provider

Example response

{
  "authMethod": "ssh",
  "baseBranch": "main",
  "cloneUrl": "git@github.com:org/repo.git",
  "gitServiceProvider": "github",
  "modelPath": "omni/my_model",
  "publicKey": "ssh-ed25519 AAAA...",
  "requirePullRequest": "users-only",
  "webUrl": "https://github.com/org/repo",
  "webhookUrl": "https://app.omni.co/api/webhooks/model/..."
}

Changes