Preview a bulk reassignment

POST
/v1/scheduling/reassignments/preview

Who each booking would go to, and why not when nobody can take it, without moving anything. It works down them in order, so two can't both be promised the same free hour. Change any of it and start the run with assignments. Covers the first 500. Things can change before you start it: the run decides again.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A secret API key from the dashboard: coss_live_… for production environments, coss_test_… for sandbox environments.

Header Parameters

Coss-Version?"2026-10-10"

The API version (a date) to use for this request. Defaults to your organization's version, pinned to the latest one when it first used the API and upgraded from the dashboard. The SDK always sends the version it was built for.

Value in"2026-10-10"

Request Body

application/json
  1. body
selection*
strategy?
Default{}
overrides?array<>
Itemsitems <= 6

Response Body

What would happen.

application/json
  1. response
object*"scheduling.reassignment_preview"
Value in"scheduling.reassignment_preview"
items*array<>
truncated*boolean

There are more than a preview covers.

import { Coss } from "coss";const coss = new Coss({  apiKey: process.env.COSS_API_KEY,  baseUrl: "https://api.coss.com",});const { data, error } = await coss.scheduling.reassignments.preview({  selection: {    host: "doctor_482",    start_before: "2027-08-14T00:00:00.000Z",  },  strategy: {    preferred_hosts: [      "doctor_518",    ],  },});
{  "object": "scheduling.reassignment_preview",  "items": [    {      "booking": "book_01kd2m9a0b1c2d3e4f5g6h7j8m",      "event_type": "evtype_01kd2m9a0b1c2d3e4f5g6h7j8m",      "title": "Consultation",      "status": "confirmed",      "start": "2027-08-03T15:00:00.000Z",      "end": "2027-08-03T15:30:00.000Z",      "series": null,      "group_session": null,      "from_host": "host_01kd2m9a0b1c2d3e4f5g6h7j8m",      "to_host": "host_01kd2m9a0b1c2d3e4f5g6h7j8n",      "reason": null    }  ],  "truncated": false}