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 add person_id or lob.
  • 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_requests with type, first_day, and optionally last_day, from, to, note: ask for time off. Supervisors can add person_id to enter it for someone else, approved at once.
  • POST /api/v1/time_off_requests/:id/approval and /rejection, with an optional note (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.