Docs

Docs

x-cpod-domain: common

Common

Cross-domain primitives — data sources, tags, relationships, attention signals, and timeline events.

Try in explorer client.dataSources · client.relationships · client.common

AttentionSignal

An explainable "why now" signal flagging an entity that needs attention.

REST path/api/v1/common/attention-signals
Operations
listgetcreateupdatedeletedismissresolve
SDK
// list — returns only your records; add filters/search:
await client.dataSources.attentionSignals.list()

// create:
await client.dataSources.attentionSignals.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  target_id: "example target_id",
  target_type: "account",
})
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.
target_id*stringID of the entity needing attention (account, project, task, etc.).
target_type*enumType of target entity.accountprojecttaskincidentapprovalcontractleaddealcasepolicyriskassetemployeeother
domain*enumBusiness domain this signal belongs to.workservicelegalmarketingfinancehrcomplianceoperationssecuritycustomerother
signal_type*enumType of attention signal.sla_riskoverdue_approvalstale_ownerrenewal_riskmissing_evidencecontract_duedeadline_approachingblockedescalationanomalyfollow_upreview_dueother
severity*enumSignal severity level.criticalhighmediumlow
reason*stringHuman-readable explanation of why attention is needed.
summarystringBrief summary for list views.
due_atdate-timeWhen this becomes urgent/deadline.
stale_atdate-timeWhen this becomes stale if not addressed.
owner_idstringUser who should act on this signal.
team_idstringTeam responsible for this signal.
source_refsjsonArray of source records that generated this signal.
computed_bystringSystem or user that computed this signal.
statusenumSignal lifecycle status.activedismissedresolvedexpired
dismissed_atdate-timeWhen signal was dismissed.
dismissed_bystringWho dismissed the signal.
resolved_atdate-timeWhen signal was resolved.
resolved_bystringWho resolved the signal.
resolution_notesstringNotes about how the signal was resolved.
metadatajsonAdditional context-specific data.
tagsjsonFree-form tags.

TimelineEvent

A source-backed business activity ledger event.

REST path/api/v1/common/timeline-events
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.dataSources.timelineEvents.list()

// create:
await client.dataSources.timelineEvents.create({
  id: "rec_01HXEXAMPLE",
  tenant_id: "example tenant_id",
  created_at: "2026-01-01T00:00:00Z",
  updated_at: "2026-01-01T00:00:00Z",
  source_id: "example source_id",
  source_type: "account",
})
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.
source_id*stringID of the source record (account, project, incident, etc.).
source_type*enumType of source entity.accountprojecttaskincidentapprovalcontractleaddealcasepolicyriskassetemployeemeetingdocumentother
domain*enumBusiness domain this event belongs to.workservicelegalmarketingfinancehrcomplianceoperationssecuritycustomerother
event_type*enumType of timeline event.createdupdatedstatus_changedassignedcomment_addedattachment_addedapproval_requestedapprovedrejectedescalatedresolvedclosedreopeneddeadline_setdeadline_missedmilestone_reachedhandoffother
title*stringHuman-readable event title.
summarystringDetailed summary of what happened.
actor_idstringUser who performed the action (if human-initiated).
actor_typeenumType of actor.usersystemagentworkflowexternal
actor_namestringDisplay name of the actor.
occurred_at*date-timeWhen the event occurred.
visibilityenumWho can see this event.publicinternalprivaterestricted
risk_levelenumRisk level associated with this event.nonelowmediumhighcritical
citation_refsjsonArray of source records that prove this event happened.
previous_statejsonState before the event (for change events).
current_statejsonState after the event (for change events).
metadatajsonAdditional context-specific data.
tagsjsonFree-form tags.

DataSource

A registered data source, often the origin of synced records.

REST path/api/v1/datasources
Operations
listgetcreateupdatesync
SDK
// list — returns only your records; add filters/search:
await client.dataSources.datasources.list()

// create:
await client.dataSources.datasources.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 display name for this integration connection.
typestringIntegration type identifying the external system being connected. Drives the connector module and the config schema used for this DataSource.
statusstringCurrent operational status of this integration. 'error' indicates the last sync failed and manual intervention may be required. 'paused' means syncs have been t
last_sync_atdate-timeISO 8601 timestamp of the most recently completed sync run. Null if this DataSource has never successfully synced.
next_sync_atdate-timeISO 8601 timestamp of the next scheduled sync run. Null if no sync is scheduled (e.g. paused or disconnected).
synced_entitiesjsonCount of entities currently synced from this DataSource, broken down by entity type. Updated after each successful sync.
configjsonIntegration-specific configuration for this DataSource. The shape varies by type. Sensitive fields (API keys, client secrets) are stored encrypted and never ret

Tag

A free-form tag attachable to any entity.

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

// create:
await client.dataSources.tags.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.
namestringCanonical machine-friendly name of the tag. Must be lowercase kebab-case (e.g. 'soc2-in-scope', 'pii-data', 'critical-asset'). This is the value stored on tagge
display_namestringHuman-readable label displayed in the UI for this tag.
colorstringHex color code for rendering this tag as a colored chip in the UI. Must be a 6-digit hex color prefixed with '#'. Null for tags with no assigned color.
descriptionstringOptional description explaining the purpose and intended usage of this tag.
created_by_iduuidUUID of the Person who created this tag.

Relationship

A generic edge between two entities when no FK fits.

REST path/api/v1/relationships
Operations
listgetcreatedelete
SDK
// list — returns only your records; add filters/search:
await client.dataSources.relationships.list()

// create:
await client.dataSources.relationships.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.
source_iduuidUUID of the source entity (the 'from' end of the directed edge).
source_typestringEntity type name of the source entity — must match an EDM entity type (e.g. Person, TechnologyAsset).
target_iduuidUUID of the target entity (the 'to' end of the directed edge).
target_typestringEntity type name of the target entity. Must match one of the EDM entity type names.
relationship_typestringSemantic label describing the nature of this relationship. Common values include 'manages', 'owns', 'depends_on', 'runs_on', 'mitigates', 'member_of', 'reports_
discovered_bystringSystem that created or discovered the edge — 'manual' for a human, otherwise an integration/discovery engine (e.g. ad_sync, aws_discovery).
propertiesjsonArbitrary key-value metadata on this edge, specific to the relationship type. For example, a 'depends_on' edge might include {'criticality': 'hard', 'protocol':
confidencenumberConfidence score (0.0 to 1.0) indicating how certain the platform is that this relationship is accurate. 1.0 means authoritative (manually created or confirmed)