Scheduler API Reference
This reference covers the four EverGrove scheduler endpoints that integrators use to manage outbound call workflows: creating entities, scheduling requests, triggering calls, and polling outcomes. All paths are relative to the base URL.
Base URL |
|
Auth |
|
Content type |
|
Endpoints overview
Method | Path | Purpose |
|---|---|---|
POST |
| Create or update a scheduler entity. |
POST |
| Create queued scheduled requests. |
POST |
| Trigger one queued scheduled request. |
GET |
| Poll a scheduled request status and outcomes. |
POST /scheduler/entities
Upserts a scheduler entity by name inside the authenticated tenant. If an entity with the same name exists, its schedule and location data are updated and the existing record is returned.
Request body
Field | Type | Required | Notes |
|---|---|---|---|
| string | Yes | Entity name (usually the provider office). |
| string | null | No | Optional display name for the location. |
| string | Yes | IANA timezone (e.g. |
| object | Yes | Per-day call windows and default call time. |
| string | null | No | Optional IVR navigation instructions. |
Response body
Field | Type | Notes |
|---|---|---|
| string (UUID) | Entity ID to persist. |
| string | Authenticated tenant. |
| string | |
| string | null | |
| string | |
| boolean | |
| string | null | |
| object | |
| string | null | |
| string | null | ISO datetime. |
| string | ISO datetime. |
Working hours policy fields
Field | Type | Notes |
|---|---|---|
| HH:mm | null | Required when |
| array | Each object has |
Extra fields on working-hours objects are rejected. A closed day must not set default_call_time.
POST /scheduler/requests
Queues scheduled requests.
Request body
Field | Type | Required | Notes |
|---|---|---|---|
| array | Yes | List of |
Call input object
Field | Type | Required | Notes |
|---|---|---|---|
| string (UUID) | Yes | From |
| string | Required if any call in the batch includes it | Stable caller-side ID. |
| string | Yes | Callable NANP E.164 number. |
| string | Yes |
|
| string | null | No | Caller-facing notes. |
| ISO datetime | null | No | Preferred deadline. |
| object | Yes | Patient/claim metadata. |
Details object
Field | Type | Required | Notes |
|---|---|---|---|
| string | Yes | Must be enabled for the tenant or scheduling returns |
| string | Yes | |
| string | null | No | 9 digits, last 4, |
| YYYY-MM-DD | Yes | |
| string | null | No | NANP phone; API normalizes to E.164. |
| YYYY-MM-DD | Yes | |
| YYYY-MM-DDTHH:mm:ss | Yes | Timezone-naive. No offsets, |
| string | Yes | IANA timezone (e.g. |
| string | Yes | |
| string | No | Defaults to |
| string | Yes | |
| string | Yes | |
| string | Yes | |
| string | Yes | |
| string | null | No | US state abbreviation or full state name. |
| string | Yes | |
| string | null | No | Accepted but not persisted as eval metadata. |
Response body
Field | Type | Notes |
|---|---|---|
| array | List of |
Scheduled request object
Field | Type | Notes |
|---|---|---|
| string (UUID) | Request ID to persist and trigger. |
| string (UUID) | |
| string (UUID) | |
| string | null | |
| string | |
| string | See |
| ISO datetime | null | |
| object | null | Usually null at creation. |
| string | ISO datetime. |
| string | ISO datetime. |
POST /scheduler/trigger/v2
Starts the queued call workflow for a single scheduled request.
Request body
Field | Type | Required | Notes |
|---|---|---|---|
| array | Yes | Exactly one UUID string. |
|
| No | Defaults to |
Response body
Field | Type | Notes |
|---|---|---|
| string[] | List of triggered request IDs. |
| string | Optional workflow reference. |
|
| |
| string[] | Trigger-level errors when present. |
| string | Optional human-readable summary. |
GET /scheduler/requests/{requestId}
Polls a request until it reaches a terminal status. Query parameters control how much detail is returned.
Path parameters
Parameter | Type | Required | Notes |
|---|---|---|---|
| string (UUID) | Yes | The scheduled request ID. |
Query parameters
Parameter | Type | Required | Notes |
|---|---|---|---|
| boolean | No | Defaults to |
Response body
Field | Type | Notes |
|---|---|---|
| string (UUID) | |
| string | See |
| ISO datetime | null | |
| object | null | See |
| array | undefined | Present only when |
| string | ISO datetime. |
| string | ISO datetime. |
Shared enums
OutboundCallStatus
Value | Meaning |
|---|---|
| Waiting to start. |
| Call workflow is running. |
| Finished successfully. |
| Encountered an unrecoverable error. |
| Cancelled before completion. |
| Marked as do-not-call. |
Generated outcomes schema
Field | Type | Notes |
|---|---|---|
| boolean | |
| ISO datetime | null | |
| boolean | null | |
| string | null | |
|
| |
| { date, time } | null | |
| { date, time } | null | |
| array of { date, time } | |
| enum |
|
| string | null | |
|
| |
|
|
CallAttempt status values
Value | Meaning |
|---|---|
| Call was placed. |
| Call was answered. |
| Call attempt failed. |
| Attempt completed. |
| Legacy completed state. |
CallAttempt disposition values
Value | Meaning |
|---|---|
| Connected with a person. |
| Temporary failure; may be retried. |
| Permanent failure. |
Common headers
Every request must include:
Authorization: Bearer {API_KEY}
Accept: application/json
Content-Type: application/jsonStatus notes
Terminal statuses for polling are COMPLETE, ERROR, CANCELLED, and DO_NOT_CALL_BACK. Continue polling while a request is ENQUEUED or ACTIVE, or stop when the caller's timeout policy is reached.