Ask for time off or a shift swap
POST
/v1/workspace/contact-center/wfm/requests
const url = 'https://api.vocapable.com/v1/workspace/contact-center/wfm/requests';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"kind":"time_off","start_date":"2026-04-15","end_date":"2026-04-15","note":"example"}'};
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/requests \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "kind": "time_off", "start_date": "2026-04-15", "end_date": "2026-04-15", "note": "example" }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
Any of:
CcWfmTimeOffRequestCreate
Responses
Section titled “Responses”Successful Response
Media typeapplication/json
CcWfmRequest
object
id
required
Id
string
revision
required
Revision
integer
kind
required
Kind
string
status
required
Status
string
requester_user_id
required
Requester User Id
string
requester_name
required
Requester Name
string
shift
required
Any of:
CcWfmShift
object
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
null
counterpart_shift
required
Any of:
CcWfmShift
object
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
null
created_at
required
Created At
string format: date-time
can_respond
required
Can Respond
boolean
can_decide
required
Can Decide
boolean
can_cancel
required
Can Cancel
boolean
Example
{ "kind": "time_off", "status": "pending", "shift": { "activities": [ { "kind": "break" } ], "status": "draft", "origin": "manual" }, "counterpart_shift": { "activities": [ { "kind": "break" } ], "status": "draft", "origin": "manual" }, "counterpart_status": "pending"}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": {} } ]}