JS Vision: V1 vs V2 Shifts API

If your Connecteam account has been migrated to JS Vision — our new shift-scheduling storage architecture — the Scheduler REST API gives you two paths to choose from. This section explains exactly how each one behaves on a migrated company, so you can pick the right one and migrate existing integrations safely.

👍

Just here to confirm nothing is breaking?

If your integration was written before JS Vision and only calls /scheduler/v1/..., it keeps working unchanged after migration:

  • Every shift ID your system already stored continues to be accepted by V1 — no need to convert or re-fetch anything.
  • The same endpoints, the same response shape, the same fields.

One thing to be aware of: any new shifts created via V1 after migration come back with a longer ID format (bson:uuid, around 61 characters, containing a :). If your shift-ID column is a fixed 24-char width, widen it before migration day. See Shift IDs and Response Shapes for the full mechanic.


TL;DR

/scheduler/v1/.../scheduler/v2/...
Available on non-Vision companiesYesNo — returns 403
Group shift with N users in a responseN separate shift objects1 shift, assignedUserIds: [...]
Shift ID format (migrated company)Slot ID: bson:uuidBase ID: plain bson
Multi-user assign / multi-spot open shiftsRejectedAllowed
Existing integrationsKeep working unchangedOpt-in

Rule of thumb: if your integration was written before JS Vision, stay on V1 — your code keeps working as-is. If you want clean group-shift semantics or multi-spot open shifts, use V2.


Am I migrated?

Send any V2 request and check the response. You don't need a specific endpoint — just hit the list:

curl --request GET \
  --url 'https://api.connecteam.com/scheduler/v2/schedulers/{schedulerId}/shifts?startTime=1736899200&endTime=1737504000' \
  --header 'X-API-KEY: YOUR_API_KEY'
🚧

Non-migrated companies get 403

If your company is not migrated, every V2 endpoint returns:

{ "detail": "V2 endpoints require JS Vision migration. Contact support to migrate." }

There is no opt-in flag in the API — contact Connecteam Support to be migrated.

📘

Migrated companies see a normal response

A 200 with a shifts array (or a 404 for a missing shift, when calling by ID) means you're on Vision. Both V1 and V2 are available, and both run against the same data.


Pages in this section

PageWhen to read
How V1 and V2 DifferStart here. Why two versions exist, URL paths, full TL;DR table, and how to choose between V1 and V2 for any given situation.
Shift IDs and Response ShapesWhat IDs each version returns and accepts, conversion rules, and side-by-side response examples for group, open, and single shifts.
Endpoint-by-Endpoint ReferenceFull diff for GET, POST, PUT, DELETE, plus pagination and validation rules — with cURL examples for each.
Migration Playbook and FAQStep-by-step recipe for moving a working V1 integration over to V2, with answers to the common questions.

See also


What’s Next

Continue