Draft shifts against the requirement (greedy assist, not an optimizer)
POST
/v1/workspace/contact-center/wfm/schedule/generate
const url = 'https://api.vocapable.com/v1/workspace/contact-center/wfm/schedule/generate';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"start":"2026-04-15","days":7,"template_ids":["example"],"team_id":"example","queue_keys":["example"],"user_ids":["example"],"dry_run":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.vocapable.com/v1/workspace/contact-center/wfm/schedule/generate \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "start": "2026-04-15", "days": 7, "template_ids": [ "example" ], "team_id": "example", "queue_keys": [ "example" ], "user_ids": [ "example" ], "dry_run": true }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
CcWfmGenerate
object
start
required
Start
string format: date
days
Days
integer
template_ids
required
Template Ids
Array<string>
queue_keys
Any of:
Array<string>
null
user_ids
Any of:
Array<string>
null
dry_run
Dry Run
boolean
Responses
Section titled “Responses”Successful Response
Media typeapplication/json
CcWfmGenerated
object
proposals
required
Proposals
Array<object>
CcWfmShiftobject
id
required
Id
string
revision
required
Revision
integer
user_id
required
User Id
string
user_name
required
User Name
string
starts_at
required
Starts At
string format: date-time
ends_at
required
Ends At
string format: date-time
day
required
Day
string format: date
activities
required
status
required
Status
string
origin
required
Origin
string
changed_since_publish
required
Changed Since Publish
boolean
can_edit
required
Can Edit
boolean
created
required
Created
integer
remaining_gap_heads
required
Remaining Gap Heads
integer
coverage_before
required
Coverage Before
Array<object>
CcWfmCoverageIntervalThe planning view’s coverage line: required (from the forecast) vs scheduled.
object
interval_start
required
Interval Start
string format: date-time
required
required
Required
integer
required_scheduled
required
Required Scheduled
integer
scheduled_heads
required
Scheduled Heads
integer
scheduled_on_queue
required
Scheduled On Queue
integer
gap
required
Gap
integer
coverage_after
required
Coverage After
Array<object>
CcWfmCoverageIntervalThe planning view’s coverage line: required (from the forecast) vs scheduled.
object
interval_start
required
Interval Start
string format: date-time
required
required
Required
integer
required_scheduled
required
Required Scheduled
integer
scheduled_heads
required
Scheduled Heads
integer
scheduled_on_queue
required
Scheduled On Queue
integer
gap
required
Gap
integer
note
required
Note
string
Example
{ "proposals": [ { "activities": [ { "kind": "break" } ], "status": "draft", "origin": "manual" } ]}Validation Error
Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Examplegenerated
{ "detail": [ { "loc": [ "example" ], "msg": "example", "type": "example", "input": "example", "ctx": {} } ]}