Skip to main content
POST
Verify and configure integration credentials

Authorizations

Authorization
string
header
required

An opaque Omnara personal or organization bearer token.

Path Parameters

orgID
string
required
Pattern: ^org_[a-z2-7]{26}$
projectID
string
required
Pattern: ^proj_[a-z2-7]{26}$
integrationID
string
required
Pattern: ^itg_[a-z2-7]{26}$

Body

application/json

Verifies credentials for this saved integration. GitHub tenant/account are the numeric App ID and Installation ID; the secret is github_app_credentials. Discord tenant is the Application ID; its generic secret contains the bot token, from which the bot User ID is discovered automatically. Reconnect preserves the original verified provider identity. A concurrent setup change rejects this request. Credential payloads are never returned.

expected_setup_revision
integer
required
Required range: x >= 1
provider_tenant_id
string
required
Required string length: 1 - 512
credential_secret_id
string
required
Pattern: ^sec_[a-z2-7]{26}$
provider_account_ref
string

Required GitHub Installation ID. Optional for Discord; an explicitly supplied bot User ID must match the token.

Required string length: 1 - 512
provider_agent_display_name
string

Optional display label. Discord credential verification defaults to the bot's current name when omitted; cached settings saves preserve the saved label.

Maximum string length: 512
provider_config
object

Omit to preserve current provider settings. A supplied object replaces them; include every setting you intend to retain.

Response

Integration setup.

id
string
required
Pattern: ^itg_[a-z2-7]{26}$
project_id
string
required
Pattern: ^proj_[a-z2-7]{26}$
name
string
required

Immutable, project-unique integration name used in config keys and qualified tool names.

Pattern: ^[a-zA-Z][a-zA-Z0-9-]{0,31}$
integration_kind
enum<string>
required

Registered integration implementation; independent of the saved integration's name and immutable ID.

Available options:
slack_thread,
discord_thread,
github_pr
state
enum<string>
required
Available options:
active,
disconnected
setup_revision
integer
required

Credential and transport revision. Launcher edits leave this value unchanged.

Required range: x >= 1
settings
object
required

Integration-owned settings JSON. Validate against capabilities.settings.input_schema from the integration catalog. Public profile references use aprf_ IDs and resolve at runtime.

provider_agent_display_name
string
required

Provider account display label, at most 512 UTF-8 bytes. Leading and trailing whitespace is trimmed on save. Empty means no label; an omitted or empty value clears the label on account-management updates.

Maximum string length: 512
provider_config
object
required

Non-secret provider configuration, validated for the selected provider. Slack and GitHub integrations require an empty object. Discord accepts only public_key (optional, a 32-byte hex-encoded Ed25519 verification key for interaction callbacks). Omnara manages one Gateway connection per Discord integration. Credentials and integration behavior are not accepted here.

capabilities
object
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
last_oauth_flow_id
string
Pattern: ^ioaf_[a-z2-7]{26}$
runtime_failure
object

Most recent connection failure for the active integration's current setup and credential version. Returned only by Get integration, not list or mutation responses. Omission does not establish provider connectivity; a runtime lease is not a connection check.

provider_tenant_id
string

Verified provider identity, omitted until first connection. Retained after disconnect.

provider_account_ref
string

Verified provider account, omitted until first connection. Retained after disconnect.

bot_mention
string

GitHub App mention including the leading @, derived from the verified App slug. Omitted when the verified slug is unavailable or the integration is not GitHub. Retained after disconnect.

credential_secret_id
string
Pattern: ^sec_[a-z2-7]{26}$