API and command line
Your own scripts and AI agents can do what you do in Erlangly, with your role. Make a personal token under Your account (your name, bottom left); it's shown once and you can revoke it any time.
curl -H "Authorization: Bearer erl_…" https://wfm.example.com/api/v1/me
Endpoints
GET /api/v1/me: who the token acts as.GET /api/v1/shifts?from=2026-10-06&to=2026-10-12: published shifts with their breaks, up to 31 days. Agents see their own; staff can addperson_idorlob.GET /api/v1/people: the roster, with lines of business and ACD IDs (staff only).GET /api/v1/time_off_requests?status=submitted: time off. Agents see their own.POST /api/v1/time_off_requestswithtype,first_day, and optionallylast_day,from,to,note: ask for time off. Supervisors can addperson_idto enter it for someone else, approved at once.POST /api/v1/time_off_requests/:id/approvaland/rejection, with an optionalnote(supervisors; never your own).POST /api/v1/volume_intervals: import volumes (planners, or an ACD connection's token).
Errors come back as { "error": "…" } with an HTTP status that says what went wrong.
On the server
erlangly schedule [DATE] [--lob CODE] [--json]
erlangly volumes import FILE.csv
erlangly timeoff [--all]
erlangly timeoff approve|decline ID [NOTE]
These act as your first admin, and what they change is in the audit trail.