Models

Rotate webhook secret

Changed on

Rotate the pull-request webhook signing secret and return the git configuration with the new webhookSecret, so the read → rotate → re-apply lifecycle can be scripted. Takes no request body. The response is the only place the new secret is returned; read it back later with GET /api/v1/models/{modelId}/git?include=webhookSecret. The old secret stops validating immediately, so webhook deliveries fail signature verification until the new value is set in the git provider. Models that share a git repository share one secret — rotating through any of them invalidates it for all.

post/api/v1/models/{modelId}/git/rotate-webhook-secret

Request

  • Base URL
    https://omniapp.co (the document declares no server; this is the origin it was published from)
  • URL
    https://omniapp.co/api/v1/models/{modelId}/git/rotate-webhook-secret
  • Auth
    HTTP bearer

Path parameters

modelIdstring uuid required

Model UUID

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

Response

Secret rotated; response includes the new webhookSecret

authMethod'ssh' | 'https_token' | 'github_app' required

Authentication method. "ssh" for deploy key, "https_token" for deploy token/PAT, "github_app" for a GitHub App installation.

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)

commitSigningCommitterEmailstring nullable required

Committer email written into signed commits (github_app auth). Null when signing is not configured.

commitSigningCommitterNamestring nullable required

Committer display name written into signed commits (github_app auth). Null when signing is not configured.

commitSigningPublicKeystring nullable required

SSHSIG signing public key to register on the committer’s GitHub user (github_app auth). Null for other auth methods.

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

githubAppInstallationIdstring nullable required

GitHub App installation ID. Null unless github_app auth.

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 required

The new webhook secret. Returned only here — read it back later with GET /git?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",
  "commitSigningCommitterEmail": "omni-bot@example.com",
  "commitSigningCommitterName": "Omni Bot",
  "commitSigningPublicKey": "ssh-ed25519 AAAA...",
  "gitServiceProvider": "github",
  "githubAppInstallationId": "12345678",
  "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