canonical: https://jentic.com/apis/onsched.com/onsched-api-utility

# OnSched API Utility

The OnSched Utility API is a small operational surface that sits alongside the OnSched Consumer and Setup APIs. It exposes platform health checks: a heartbeat endpoint that confirms the booking platform is reachable, and a thread information endpoint that returns runtime details for deeper diagnostics. It is the right surface for status pages, uptime monitors, and the synthetic checks that platform teams run against any OnSched-backed booking flow. Authentication uses the same OAuth 2.0 client credentials as the rest of the OnSched APIs.

## For AI agents

Confirm OnSched platform health with heartbeat and thread-info checks using OAuth 2.0 client-credentials authentication.

## Scope

Does not handle bookings, configuration, or customer data - use for OnSched platform health checks only.

## Capabilities

- Run a heartbeat check to confirm the OnSched booking platform is reachable
- Retrieve thread-info diagnostics for deeper troubleshooting of platform issues
- Authenticate with OAuth 2.0 client credentials so utility checks share the same auth domain as Consumer and Setup
- Drive an external status page with structured health responses

## Use cases

### Synthetic health monitoring for booking flows

Platform teams running mission-critical booking flows on OnSched run a synthetic check every minute or so to confirm the platform is reachable. The heartbeat endpoint returns a structured signal that uptime monitors and on-call dashboards can ingest, and the thread-info endpoint adds a second level of detail when the heartbeat reports degraded performance. Most teams wire this up in under a day.

Example prompt: GET `/utility/v1/health/heartbeat` once a minute and alert when the response is non-200 or latency exceeds the SLO target.

### Pre-flight check before triggering a booking workflow

When a downstream system is about to push a large batch of bookings or provisioning calls, a quick heartbeat check confirms the platform is healthy enough to accept the work. This avoids partial-success batches that need manual reconciliation. The Utility API is the lightest possible call to make for that gate, so it does not add meaningful latency to the workflow.

Example prompt: Before a nightly provisioning batch, GET `/utility/v1/health/heartbeat` and abort the batch if the response is degraded or non-200.

### AI agent platform readiness through Jentic

An AI agent that orchestrates OnSched calls across many tenants can use the Utility API as a readiness gate. The agent searches Jentic for the heartbeat operation, executes it, and only proceeds with bookings or provisioning when the platform reports healthy. This stops the agent from issuing dozens of failing calls during an OnSched incident.

Example prompt: Search Jentic for 'onsched heartbeat', load the GET `/utility/v1/health/heartbeat` operation, and gate downstream booking actions on a healthy response.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/utility/v1/health/heartbeat` | Check that the OnSched platform is reachable |
| GET | `/utility/v1/health/threadinfo` | Read thread-level diagnostic information |

## Key resources

- **Health** — Heartbeat and thread-info endpoints for platform monitoring

## Why Jentic

- **Setup:** Wiring the OnSched Utility API by hand means running the OAuth2 client-credentials flow and refreshing the token yourself just to reach the platform health endpoints. Through Jentic you install once, import the OnSched Utility API from the API Directory, store the client credentials once, and your agent calls it.
- **Permission scoping:** The OnSched Utility API exposes only read-only health checks, so you limit the agent to the operations it needs, such as reading the heartbeat or thread diagnostics. Nothing here mutates data, and you credit the agent only with the checks you allow.
- **Credential handling:** Your OnSched client credentials 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 'check that OnSched is reachable', and Jentic returns the matching OnSched Utility operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **OnSched Consumer API** — End-user booking surface that the Utility API monitors the health of
- **OnSched Setup API** — Configuration surface that benefits from a Utility heartbeat before bulk provisioning
- **Calendly API** — Hosted scheduling product, monitored via its own status page rather than a heartbeat endpoint

## FAQ

### What authentication does the OnSched Utility API use?

The Utility API uses OAuth 2.0 client credentials, the same scheme as the OnSched Consumer and Setup APIs. Through Jentic, the credentials are stored in the vault and the access token is refreshed transparently, so monitoring agents do not need to manage the secret themselves.

### What does the heartbeat endpoint return?

GET `/utility/v1/health/heartbeat` returns a structured response indicating whether the OnSched platform is reachable. It is the lightest possible call to confirm the booking surface is up, and it is the right thing to plot on a status page or run from an uptime monitor.

### What is the difference between heartbeat and thread-info?

Heartbeat is a binary up-or-degraded signal designed to be polled frequently. GET `/utility/v1/health/threadinfo` returns runtime details that are useful for diagnostic tickets and post-incident reviews, but it is not designed to be polled at high frequency. Treat thread-info as on-demand and heartbeat as periodic.

### What are the rate limits for the OnSched Utility API?

OnSched does not publish a global rate limit in the spec. The Utility surface is intentionally tiny (2 endpoints) and is sized for periodic polling rather than high-frequency reads. A heartbeat poll every 30 to 60 seconds per environment is well within reasonable usage.

### How do I gate a booking workflow on platform health through Jentic?

Install the SDK with 'pip install jentic', search for the operation with the query 'onsched heartbeat', then load the GET `/utility/v1/health/heartbeat` operation, and execute it before kicking off the workflow. If the response is healthy, proceed with the Consumer or Setup API calls; otherwise short-circuit and alert.

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

Yes. Jentic One is self-hosted by you, so your own rules decide which operations and credentials the agent may use. The OnSched Utility API exposes only read-only health checks, so you can restrict the agent to just the heartbeat operation (GET `/utility/v1/health/heartbeat`) or also allow the thread-info diagnostics (GET `/utility/v1/health/threadinfo`), and nothing here mutates data. Your OnSched client credentials stay with your instance and are injected at execution time, never entering the agent's prompt or logs.
