canonical: https://jentic.com/apis/churnzero.net/churnzero

# ChurnZero REST API

Jentic publishes the only available OpenAPI specification for ChurnZero REST API, keeping it validated and agent-ready. ChurnZero is a customer success platform that consolidates account health, product usage events, churn scores, and customer journeys into one workspace for CSM teams. The REST API provides read-only access to that data using OData query conventions, so external systems can pull account records, contacts, events, segments, tasks, surveys, churn scores, and journey progress for reporting, BI, and CRM sync. It is the standard integration surface for piping ChurnZero signals into data warehouses and revenue dashboards.

## For AI agents

Read customer success data from ChurnZero - accounts, contacts, events, churn scores, surveys, tasks, and journey progress.

## Scope

Does not handle event ingestion, in-app messaging, or write-back of customer data - use for reading customer success records, scores, and journeys only.

## Capabilities

- Retrieve customer accounts and their churn scores via /Account and /Account({Id})/PrimaryChurnScore
- Pull contact records and resolve them to parent accounts via /Contact endpoints
- List product usage events and event types through /Event and /EventType
- Retrieve customer success tasks, segments, and journey progress through /Task, /Segment, and /Journey endpoints
- Pull survey responses and NPS data via /Survey and /SurveyResponse
- Apply OData filtering, sorting, and pagination across collection endpoints

## Use cases

### Churn Score Sync to CRM

Revenue teams want churn risk visible alongside the account record in Salesforce or HubSpot. A scheduled integration reads /Account with the embedded churn score expansion or calls /Account({Id})/PrimaryChurnScore for each account, then writes the score back to the CRM as a custom field. This puts ChurnZero's risk signal in the workflow where account managers act on it.

Example prompt: List accounts via /Account with OData $top=100, fetch the churn score for each via /Account({Id})/PrimaryChurnScore, and write the score back to the CRM

### Customer Health Reporting in BI

Operations teams build BI dashboards that combine ChurnZero churn scores, journey completion rates, and survey NPS with billing data from the finance system. The /ChurnScore, /JourneyProgress, and /SurveyResponse endpoints expose this data with OData filtering so an ETL job can incrementally load only changed records into the warehouse rather than full-refreshing nightly.

Example prompt: Pull /ChurnScore, /JourneyProgress, and /SurveyResponse with an OData $filter on date and load each into the warehouse

### At-Risk Account Triage

Customer success leaders want a daily list of accounts whose churn score crossed a threshold so CSMs can intervene before renewal. A job calls /Account with an OData filter on the churn score field, pulls the matching accounts and their primary contacts via /Account({Id})/DirectParentAccount and /Contact, and posts the list to a Slack channel or task system for follow-up.

Example prompt: Query /Account with an OData filter where churn score exceeds a threshold and emit each match with its primary contact

### Agent-Driven Customer Success Briefing

A CSM agent preparing for a quarterly business review pulls every signal ChurnZero has on an account - recent events, journey progress, open tasks, churn score history, survey responses - through a single Jentic call sequence. The agent searches Jentic for 'get customer success data from ChurnZero', loads the account-related operations, and assembles a QBR brief without manual export.

Example prompt: Search Jentic for 'get customer success data from ChurnZero', load /Account({Id}), /Event, /Task, and /SurveyResponse, and assemble a QBR brief for one account

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/Account` | List all accounts with OData filtering |
| GET | `/Account({Id})/PrimaryChurnScore` | Get the churn score for an account |
| GET | `/Contact` | List all contacts |
| GET | `/Event` | List product usage events |
| GET | `/ChurnScore` | List churn scores across accounts |
| GET | `/JourneyProgress` | List journey progress records |
| GET | `/SurveyResponse` | List survey responses |

## Key resources

- **Accounts** — Customer accounts with churn scores and parent relationships
- **Contacts** — Individual contacts and their account associations
- **Events** — Product usage events and event types
- **Churn Scores** — Account-level churn risk scores and calculations
- **Journeys** — Customer journey definitions, instances, and progress
- **Surveys** — Surveys and customer survey responses
- **Tasks** — Customer success tasks and assignments

## Why Jentic

- **Setup:** Wiring ChurnZero by hand means handling its basic auth, building the tenant subdomain into the base URL, and composing OData filters against 22 endpoints yourself. Through Jentic you install once, import the ChurnZero REST API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** This ChurnZero interface exposes read-only OData collections such as Account, Contact, and ChurnScore, so scope the agent to the operations it needs, such as reading accounts and churn scores. Every operation here reads data, so the agent only retrieves customer success records.
- **Credential handling:** Your ChurnZero basic-auth credentials and tenant subdomain are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get customer success data from ChurnZero' or 'read a churn score', and Jentic returns the matching OData operation with its filter parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HubSpot CRM Companies** — HubSpot company records where ChurnZero churn scores commonly sync as a custom property
- **Salesforce** — Enterprise CRM where customer success teams act on churn signals
- **Intercom** — Customer messaging platform with health-style segmentation features

## FAQ

### Why is there no official OpenAPI spec for ChurnZero REST API?

ChurnZero does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call ChurnZero REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the ChurnZero REST API use?

ChurnZero uses HTTP Basic authentication with your username and an API key as the password, base64-encoded in the Authorization header. The base URL is also tenant-specific via the {subdomain} server variable. Through Jentic, both the credentials and subdomain are stored in the vault and bound at execution time.

### Can I retrieve churn scores for accounts through the API?

Yes. Call /ChurnScore for the full collection or /Account({Id})/PrimaryChurnScore to fetch the score for a single account. Both support OData $filter and $top so you can target accounts above a risk threshold without paginating through everything.

### Does the ChurnZero API support OData filtering?

Yes. Collection endpoints accept standard OData query parameters including $filter, $orderby, $top, and $skip, which is the same shape Microsoft and SAP APIs use for filtering and pagination - useful when incrementally loading changes into a warehouse.

### Is the ChurnZero API read-only?

Yes. The public REST API exposes GET endpoints only - accounts, contacts, events, segments, tasks, surveys, churn scores, and journeys are all retrievable but not writable through this surface. Updates to ChurnZero data flow through the JavaScript tracker and integration connectors instead.

### How do I pull churn scores into our data warehouse through Jentic?

Run pip install jentic, search for 'get customer success data from ChurnZero', load /ChurnScore with an OData $filter on the calculation date, and execute. Jentic handles the Basic auth header and subdomain binding so the warehouse loader only deals with the parsed payload.

### Can I limit what my agent is allowed to do with the ChurnZero REST API?

Yes. Because you run Jentic One yourself, your own rules decide which ChurnZero operations and credentials the agent may use, so you can scope it to only the read calls it needs, such as /Account, /Contact, or /Account({Id})/PrimaryChurnScore. This API is entirely read-only OData collections, so even at its widest an agent can only retrieve customer success records like accounts, contacts, and churn scores and never write back. You can narrow it further to a single endpoint, for example allowing /ChurnScore reads for a warehouse loader while blocking everything else.
