canonical: https://jentic.com/apis/baremetrics.com/baremetrics

# Baremetrics API

Jentic publishes the only available OpenAPI specification for the Baremetrics API, keeping it validated and agent-ready. Baremetrics provides subscription analytics and revenue metrics for SaaS businesses, exposing endpoints for customers, subscriptions, plans, charges, refunds, events, and cancellation insights. Annotations let teams pin commentary onto the metrics timeline, while goals and segments support cohort analysis and target tracking. The API is typically used to push billing events from Stripe-compatible sources or to read derived metrics like MRR, ARR, churn, and LTV into internal tools.

## For AI agents

Push subscription billing events into Baremetrics and pull MRR, churn, LTV, and cancellation insights for SaaS analytics. Used by agents that build revenue dashboards or sync data between billing systems.

## Scope

Does not handle payment processing, invoicing, or dunning - use for subscription analytics, event push, and metrics retrieval only.

## Capabilities

- Push customer, subscription, and charge events from a billing system into Baremetrics
- Read derived SaaS metrics including MRR, ARR, churn, and LTV across segments
- Manage plans and synchronise pricing tiers with the source billing system
- Annotate the metrics timeline with launches, pricing changes, or campaigns
- Track goal progress and segment customers for cohort analysis
- Capture cancellation insights with structured churn reasons and feedback

## Use cases

### Push Billing Events from a Custom System

Sync a custom or self-hosted billing system into Baremetrics by pushing customers, subscriptions, plans, and charges through the source-scoped API. This unlocks Baremetrics' MRR, churn, and LTV calculations without migrating off the in-house billing engine. Typical integration takes a few days once event shapes are mapped to Baremetrics resources.

Example prompt: POST /customers and POST /subscriptions for a new signup with monthly recurring amount $99, then verify the customer appears via GET /customers/{id}.

### Programmatic Annotations on the Metrics Timeline

Automate annotations on the Baremetrics dashboard so that pricing changes, launches, and marketing campaigns appear in context next to MRR and churn movements. POST /annotations from your release pipeline or marketing automation, and the annotation appears on every relevant metric chart, helping the team correlate cause and effect without manual note-taking.

Example prompt: POST /annotations with text 'Launched annual plan with 15% discount' on today's date so it overlays on the MRR chart.

### Cancellation Insights and Save Workflows

Pull structured cancellation insights via the Cancellation Insights endpoints and feed them into save offers, retention emails, and product backlog grooming. Each cancellation includes the customer, reason, and any free-text feedback, so customer success teams can prioritise the most common pain points and CS leaders can quantify churn drivers.

Example prompt: GET /cancellation_insights for the last 90 days, group reasons by frequency, and POST a Slack message listing the top three reasons.

### AI Agent Revenue Analyst via Jentic

Run an AI assistant that answers ad-hoc revenue questions like 'what was MRR last month' or 'list customers who churned this week' by calling Baremetrics through Jentic. The agent searches Jentic, loads the right Baremetrics operation, and executes the call with the bearer token held in your Jentic One instance. Useful for executives and finance teams who want self-serve metrics in chat.

Example prompt: Search Jentic for 'list churned customers', execute GET /customers with the appropriate filter, and return a count and list of customers who cancelled this month.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /account | Get account metadata |
| GET | /customers | List customers |
| POST | /customers | Create a customer |
| GET | /subscriptions | List subscriptions |
| POST | /subscriptions | Create a subscription |
| POST | /plans | Create a plan |
| GET | /sources | List connected billing sources |

## Key resources

- **Customers** — End-customer records with subscriptions, charges, and lifetime value
- **Subscriptions** — Active and historical subscription records linked to plans
- **Plans** — Pricing tiers with intervals and amounts
- **Charges** — Individual charge events tied to subscriptions
- **Refunds** — Refund events against charges
- **Events** — Raw billing events used to derive metrics
- **Annotations** — Timeline notes overlaid on dashboard charts
- **Goals** — Configurable revenue and growth targets
- **Segments** — Cohort definitions for filtered metrics
- **Cancellation Insights** — Structured churn reasons and feedback
- **Sources** — Connected billing sources used to scope writes
- **Account** — Account-level metadata and settings

## Why Jentic

- **Setup:** Wiring Baremetrics by hand means adding a bearer token to every request, learning the account, customers, subscriptions, and plans endpoints, and paginating the metrics responses yourself. Through Jentic you install once, import the Baremetrics API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Baremetrics exposes collection endpoints and takes its targets in the request body rather than as a resource in the URL path, so scope the agent to the operations it needs, such as listing customers or reading subscriptions. You choose that operation set, so creating customers, subscriptions, or plans are not included unless you add them.
- **Credential handling:** Your Baremetrics bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list churned customers' or 'read subscription metrics', and Jentic returns the matching Baremetrics operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **ChartMogul** — Subscription analytics with strong manual data import options.
- **Stripe** — Payment processing and subscription billing platform.
- **Recurly** — Subscription billing platform feeding source data to analytics tools.

## FAQ

### Why is there no official OpenAPI spec for Baremetrics?

Baremetrics does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Baremetrics 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 Baremetrics API use?

Baremetrics uses HTTP bearer authentication with a workspace-scoped token in the Authorization header. When called through Jentic, the bearer token is held encrypted in your Jentic One instance and injected at execution time so the agent's context never sees the raw secret.

### Can I push subscription events from a custom billing system into Baremetrics?

Yes. POST /sources to register a custom source (or use an existing one), then POST /customers, POST /plans, and POST /subscriptions to push event records. Charges and refunds follow the same pattern via /charges and /refunds, and Baremetrics then derives MRR, churn, and LTV from those records.

### What are the rate limits for the Baremetrics API?

Baremetrics enforces per-account rate limits that are not exposed as a single published number; for bulk historical backfills, batch operations and back off on 429 responses. Read endpoints (/customers, /subscriptions) tolerate higher polling rates than write endpoints.

### How do I get current MRR through Jentic?

Install the Jentic SDK with pip install jentic, search for 'get current mrr from baremetrics', and execute the matched metrics or account operation. Jentic injects the bearer token, returns the JSON response, and the agent extracts the MRR value for downstream use.

### Does Baremetrics expose cancellation reasons via the API?

Yes. The Cancellation Insights resource exposes structured churn reasons and free-text feedback for cancelled customers. Pull the data, group by reason, and feed it into save offers, retention sequences, or quarterly reviews.

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

Yes. Because you run Jentic One yourself, your own rules decide which Baremetrics operations and credentials the agent can use, so you can grant only read calls like GET /customers and GET /subscriptions while withholding everything else. Baremetrics takes its targets in the request body rather than in the URL path, so scoping happens at the operation level: write operations such as POST /customers, POST /subscriptions, and POST /plans are excluded unless you explicitly add them to the agent's allowed set. This lets an operator expose metric and customer reads for a revenue analyst agent without ever letting it create or modify billing records.
