Skip to main content
The Scheduler API is an external Go service that runs the same automatic volunteer-to-shift assignment engine that powers the Shift Scheduler web app. You can call it directly from your own application to schedule any set of volunteers and shifts, receive a fairness-scored result, and surface any conflicts.
This is an external API hosted separately from the Shift Scheduler web app. To get an API key, email arnav.shah.2k10@gmail.com.

Base URL

https://shift-scheduler-api-3nxm.vercel.app

Endpoints

POST /api/schedule

Run the scheduling engine on a JSON payload of volunteers and shifts. Returns assignments, unfilled shifts, and a fairness score.

POST /api/schedule/csv

Same scheduling engine, but accepts CSV files via multipart/form-data instead of JSON.

POST /api/validate

Validate your request payload without running the scheduler. Use this to debug data format issues before submitting.

GET /api/usage

Retrieve your current API quota and usage history.

Endpoint summary

MethodPathDescription
POST/api/scheduleRun the scheduler with a JSON body
POST/api/schedule/csvRun the scheduler with CSV file uploads
POST/api/validateValidate a request payload
GET/api/usageCheck quota and usage history

Authentication

All requests require an HMAC-signed API key passed in the Authorization header:
Authorization: Bearer [user_id].[signature]
See Authentication for details on the key format, how to request a key, and error responses.

JavaScript SDK

The scheduling engine is also available as a JavaScript SDK installable via NPM or a CDN script tag. See JavaScript SDK for installation and usage examples.

Build docs developers (and LLMs) love