Docs

Docs

x-cpod-domain: clientops

ClientOps

Customer health scores, success playbooks, onboarding plans, retention risk tracking, and expansion pipeline.

Try in explorer client.clientops.healthScores · client.clientops.playbooks · client.clientops.onboardingPlans · client.clientops.retentionRisks · client.clientops.expansions

HealthScore

Customer health score with contributing factors.

REST path/api/v1/clientops/health-scores
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.clientops.healthScores.healthScores.list()

// create:
await client.clientops.healthScores.healthScores.create({
  score: 42,
  id: "rec_01HXEXAMPLE",
  account_id: "account_01HXEXAMPLE",
  trend: "improving",
  calculated_at: "2026-01-01T00:00:00Z",
})
FieldTypeDescription
iduuid
account_iduuidAccount
score*number
factorsjson
trendenumimprovingstabledeclining
calculated_atdate-time

Playbook

A success playbook for customer engagement.

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

// create:
await client.clientops.healthScores.playbooks.create({
  name: "example name",
  id: "rec_01HXEXAMPLE",
  description: "example description",
})
FieldTypeDescription
iduuid
name*string
descriptionstring
trigger_conditionsjson
stepsjson

OnboardingPlan

Structured onboarding plan for a customer.

REST path/api/v1/clientops/onboarding-plans
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.clientops.healthScores.onboardingPlans.list()

// create:
await client.clientops.healthScores.onboardingPlans.create({
  id: "rec_01HXEXAMPLE",
  account_id: "account_01HXEXAMPLE",
  status: "not_started",
  started_at: "2026-01-01T00:00:00Z",
})
FieldTypeDescription
iduuid
account_iduuidAccount
statusenumnot_startedin_progresscompletedblocked
milestonesjson
started_atdate-time

RetentionRisk

Retention risk flag for an account.

REST path/api/v1/clientops/retention-risk
Operations
listgetcreateupdatedelete
SDK
// list — returns only your records; add filters/search:
await client.clientops.healthScores.retentionRisk.list()

// create:
await client.clientops.healthScores.retentionRisk.create({
  id: "rec_01HXEXAMPLE",
  account_id: "account_01HXEXAMPLE",
  risk_level: "low",
  reason: "example reason",
  detected_at: "2026-01-01T00:00:00Z",
})
FieldTypeDescription
iduuid
account_iduuidAccount
risk_levelenumlowmediumhighcritical
reasonstring
detected_atdate-time

Expansion

Expansion opportunity in the pipeline.

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

// create:
await client.clientops.healthScores.expansions.create({
  id: "rec_01HXEXAMPLE",
  account_id: "account_01HXEXAMPLE",
  type: "upsell",
  value: 42,
  status: "identified",
})
FieldTypeDescription
iduuid
account_iduuidAccount
typeenumupsellcross_selladd_onrenewal
valuenumber
statusenumidentifiedqualifiedproposedwonlost