Docs

Docs

x-cpod-domain: integration

Integrations

External apps, connectors, API keys, and webhooks.

Try in explorer client.integration

Application

A registered app integrating with cPod.

REST path/api/v1/integration/applications
Operations
listgetcreateupdate
SDK
// list — returns only your records; add filters/search:
await client.integration.applications.list()

// create:
await client.integration.applications.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
display_namestringHuman-readable name, e.g. CRM 360.
slugstringStable lowercase app slug; the value stamped into app_id.
kindstringapp = user-facing; platform-service = cpod-backend/cpod-arai/coreiq/core-sdk; library = no runtime identity.
primary_domainstringModel domain primarily served.
descriptionstringWhat the app does.
oauth_client_idstringRegistered OAuth client id. core-sdk maps a validated token's client_id to this id to stamp appId on every write.
statusstringLifecycle status of the application.
canonical_owner_ofjsonEntity types this app is the canonical owner of; empty for pure consumers.
api_base_pathstringBase path the app serves or is reached at, e.g. /v1/deals.
repositorystringSource repository.
versionnumberOptimistic concurrency version counter.

Connector

A data source/sink connector instance.

REST path/api/v1/integration/connectors
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.integration.connectors.list()

// create:
await client.integration.connectors.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
typestringIntegration type category.
providerstringVendor, e.g. defender_for_endpoint, splunk, jira, okta.
namestringHuman-readable connector name.
scopestringorg = tenant-wide; user = personal; group = group-scoped.
owner_idstringusr-<uuid> of the owning user.
group_idstringGroup ID if scope=group.
user_idstringUser ID if scope=user.
configjsonNon-secret configuration: baseUrl, region, accountId, etc.
vault_pathstringKV v2 Vault path to secrets, e.g. secret/data/tnt-.../connectors/cnn-.../credentials.
auth_typestringAuthentication mechanism.
oauth_refresh_neededbooleanWhether the OAuth token needs refreshing.
oauth_token_expires_atdate-timeWhen the OAuth access token expires.
enabledbooleanWhether the connector is active.
sync_statusstringCurrent sync health.
last_sync_atdate-timeTimestamp of the last successful sync.
consecutive_errorsnumberCount of consecutive sync errors.
last_errorstringLast error message.
metricsjson{ totalSynced, last24h, avgLatencyMs }
event_typesjsonEvent types this connector emits.
webhook_endpoint_idstringID of the outbound Webhook endpoint, if applicable.
credential_last_rotated_atdate-timeWhen credentials were last rotated.
next_rotation_duedate-timeWhen credentials are next due for rotation.
tagsjsonFree-form tags.
versionnumberOptimistic concurrency version counter.
application_iduuidOwning application id (FK to Application).

IntegrationApiKey

An API key issued to an Application.

REST path/api/v1/integration/api-keys
Operations
listgetcreaterevoke
SDK
// list — returns only your records; add filters/search:
await client.integration.apiKeys.list()

// create:
await client.integration.apiKeys.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
namestringHuman-readable label for this key.
key_hashstringSHA-256 hash of the raw key (unique). Never returned after initial creation.
prefixstringFirst 8 chars of raw key for UI display, e.g. sk-acme-.
kindstringKey classification.
issued_to_user_idstringUser this key was issued to, if kind=user.
issued_to_servicestringService name this key was issued to, if kind=service.
scopesjsonPermission scopes granted to this key.
allowed_modelsjsonIf kind=virtual_llm, allowlist of model identifiers.
tpm_limitnumberTokens per minute rate limit.
rpm_limitnumberRequests per minute rate limit.
max_budget_usdnumberMaximum spend cap in USD.
spend_usdnumberCached spend counter in USD.
blockedbooleanWhether this key is blocked from making requests.
blocked_reasonstringReason the key was blocked.
last_used_atdate-timeTimestamp of the last successful use of this key.
expires_atdate-timeExpiry timestamp; null for non-expiring keys.
rotated_from_key_idstringID of the key this was rotated from.
created_by_user_idstringID of the user who created this key.
tagsjsonFree-form tags.
versionnumberOptimistic concurrency version counter.
application_iduuidOwning application id.
key_fingerprintstringSHA-256 hash of the raw key. Raw key is never stored.
key_prefixstringFirst chars of the raw key for UI display only.
statusenumOperational status of the key.activerevokedexpired

Webhook

An outbound webhook endpoint.

REST path/api/v1/integration/webhooks
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.integration.webhooks.list()

// create:
await client.integration.webhooks.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  app_id: "example app_id",
  created_by: "rec_01HXEXAMPLE",
})
FieldTypeDescription
id*uuidServer-assigned ULID with type prefix (e.g. per_…).
tenant_id*stringTenant scope — auto-stamped from the caller's JWT.
app_idstringApp scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present.
created_at*date-timeServer stamp.
updated_at*date-timeServer stamp; updated on every patch.
created_byuuidPerson id from the caller's JWT (sub).
updated_byuuidPerson id from the last writer's JWT (sub).
sourcestringProvenance tag — defaults to 'edm'.
source_typeenumWhere the write originated. Defaults to 'api'.frontendbackendserversystemapi
is_deletedbooleanSoft-delete flag. Excluded from default list queries.
deleted_atdate-timeStamped when soft-deleted; null otherwise.
deleted_byuuidPerson id who soft-deleted; null otherwise.
schema_versionnumberDocument schema version. Bumped on incompatible writes.
namestringHuman-readable webhook name.
directionstringoutbound = cPod pushes to url; inbound = external system calls cPod.
urlstringTarget URL (outbound) or callback URL (inbound).
event_typesjsonEvent type filters, e.g. rfp.created, rfp.status_changed.
signature_schemestringPayload signing scheme.
vault_pathstringVault KV v2 path where the HMAC secret lives; never stored inline.
headersjsonStatic custom headers (non-secret) sent with every delivery.
enabledbooleanWhether this webhook is active.
retry_policyjson{ maxAttempts, backoff: 'exponential', timeoutMs }
last_delivery_atdate-timeTimestamp of the last delivery attempt.
last_delivery_statusstringOutcome of the last delivery attempt.
consecutive_failuresnumberCount of consecutive delivery failures.
paused_atdate-timeTimestamp when the webhook was auto-paused after N consecutive failures.
connector_idstringID of the owning Connector, if this webhook is connector-owned.
tagsjsonFree-form tags.
versionnumberOptimistic concurrency version counter.
application_iduuidOwning application id.
secret_fingerprintstringHash of the signing secret; raw secret is never stored.
is_activebooleanWhether this webhook is active.