For Agents
Authenticate a Calm partner service, link partner users to Calm accounts, and cancel partner-provisioned subscriptions via JWT-based REST endpoints.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Calm Partner API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Calm Partner API.
Authenticate the partner service and obtain a JWT via POST /v0/authorize
Link a partner user to a Calm account through POST /v0/b2b/users/link
Cancel a partner-provisioned subscription via DELETE /v0/b2b/users/{partner_user_id}
GET STARTED
Use for: Authenticate the partner service with Calm, Link an employee to a Calm account using their partner user ID, Cancel a Calm subscription when a member leaves the benefit, Refresh the partner JWT before it expires
Not supported: Does not handle consumer Calm app sign-up, in-app content, or end-user authentication — use for Calm B2B partner provisioning, linking, and cancellation only.
Jentic publishes the only available OpenAPI specification for Calm Partner API, keeping it validated and agent-ready. The Calm Partner API lets approved business partners integrate Calm subscriptions into their own platforms — for example, a health insurer or employer wellbeing benefit that wants to grant Calm access to its members. Three endpoints cover the full integration: authenticate the partner service, link a partner user to a Calm account, and cancel a user's subscription. Authentication is JWT-based and shared between the auth.calm.com production endpoint and a development endpoint.
Use the same auth flow against the production and development environments
Provision Calm access at scale from an HRIS, benefits, or insurance platform
Patterns agents use Calm Partner API for, with concrete tasks.
★ Employer wellbeing benefit provisioning
An employer offering Calm as a wellbeing benefit needs every active employee to receive Calm access automatically and lose it when they leave. The partner platform calls POST /v0/authorize to get a JWT, POST /v0/b2b/users/link to provision a new hire, and DELETE /v0/b2b/users/{partner_user_id} when an HRIS termination event arrives. Provisioning becomes a side effect of payroll changes rather than a manual admin task.
On an HRIS new-hire event, POST /v0/authorize, then POST /v0/b2b/users/link with the employee's partner_user_id and email.
Health-insurance member access
Health insurers offering Calm as a covered benefit link the insurer's member ID to a Calm account so the member can sign in with single-sign-on or a deep link. POST /v0/b2b/users/link takes the partner_user_id (the insurer's member ID) and the user's identifying details and returns a Calm account binding. Member churn flows through DELETE so cancelled policies do not retain Calm access.
For each member in an eligibility file, POST /v0/b2b/users/link with their member ID and email, and record the Calm response on the member record.
Subscription lifecycle audit
A partner program manager needs to keep the count of active Calm subscriptions consistent with the count of eligible members. The partner runs a reconciliation job that authenticates via POST /v0/authorize, iterates over expected partner_user_ids, and calls DELETE /v0/b2b/users/{partner_user_id} for any that should no longer be active. The audit reduces overpayment to Calm and removes lingering access for departed users.
POST /v0/authorize, then for each partner_user_id flagged as terminated, DELETE /v0/b2b/users/{partner_user_id} and log the response.
AI agent integration via Jentic
An HR-ops or benefits agent built on Jentic can run Calm provisioning without storing the partner JWT in prompt memory. The agent searches an intent like 'link a user to a Calm subscription', Jentic returns the matching POST /v0/b2b/users/link operation with its input schema, and execution uses the JWT resolved from the Jentic vault. Token refresh against POST /v0/authorize is handled automatically.
Use Jentic search 'link a user to a Calm subscription', load the schema for POST /v0/b2b/users/link, and execute it with partner_user_id and email.
3 endpoints — jentic publishes the only available openapi specification for calm partner api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/v0/authorize
Authenticate the partner service and obtain a JWT
/v0/b2b/users/link
Link a partner user to a Calm account
/v0/b2b/users/{partner_user_id}
Cancel a partner-provisioned subscription
/v0/authorize
Authenticate the partner service and obtain a JWT
/v0/b2b/users/link
Link a partner user to a Calm account
/v0/b2b/users/{partner_user_id}
Cancel a partner-provisioned subscription
Three things that make agents converge on Jentic-routed access.
Credential isolation
Calm partner credentials and the resulting JWT are stored encrypted in the Jentic vault. The JWT is refreshed by calling POST /v0/authorize when it expires, so the agent never sees the raw secret in its context.
Intent-based discovery
Agents search by intent (e.g., 'link a user to Calm') and Jentic returns the matching operation with its input schema, so the agent picks /v0/authorize, /v0/b2b/users/link, or /v0/b2b/users/{partner_user_id} without reading partner docs.
Time to first call
Direct Calm Partner integration: 1-2 days for JWT auth, eligibility-file mapping, and lifecycle handling. Through Jentic: under 30 minutes from search to first executed call.
Alternatives and complements available in the Jentic catalogue.
Stripe API
Stripe handles billing for the partner platform that wraps the Calm benefit.
Choose Stripe to bill the employer or insurer; use Calm to provision the underlying subscription for the member.
Specific to using Calm Partner API through Jentic.
Why is there no official OpenAPI spec for Calm Partner API?
Calm publishes prose partner documentation at partner.calm.com/docs/api but does not distribute an OpenAPI file. Jentic generates and maintains this spec so that AI agents and developers can call Calm Partner API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Calm Partner API use?
The Calm Partner API uses JWT-based authentication. The partner service calls POST /v0/authorize with its credentials and receives a JWT, which is then sent as a Bearer token on POST /v0/b2b/users/link and DELETE /v0/b2b/users/{partner_user_id}. Through Jentic the partner credentials and JWT are held in the vault.
Can I link an employee to a Calm subscription with the Calm Partner API?
Yes. POST /v0/b2b/users/link takes a partner_user_id (the partner's internal ID for the employee or member) plus identifying fields and binds them to a Calm account. The same partner_user_id is used to cancel via DELETE /v0/b2b/users/{partner_user_id}.
What are the rate limits for the Calm Partner API?
Rate limits are not declared in the spec. Calm gates partner traffic per agreement; production integrations should pace bulk eligibility loads and back off on 429 responses rather than retry tightly. Pre-coordinate with Calm before sending eligibility files larger than tens of thousands of users.
How do I provision a Calm benefit through Jentic?
Run jentic search 'link a user to Calm', load the schema for POST /v0/b2b/users/link, and execute it with the partner_user_id and email. The JWT is refreshed against POST /v0/authorize and resolved from the Jentic vault at execution time. With pip install jentic the call is one async invocation.
Is the Calm Partner API free?
No. Access is commercial and tied to a Calm partner agreement, typically with employers, insurers, or wellness platforms. The credentials needed for POST /v0/authorize are issued only after the partner contract is in place.