Skip to content
vocapable.Docs

Ask for time off or a shift swap

POST
/v1/workspace/contact-center/wfm/requests
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" }'
Idempotency-Key
Any of:
string

Unique key for this request, so a retry replays the original result instead of repeating the work. Stored for 24 hours; a replayed response carries Idempotent-Replay: true. A UUID is the documented shape.

Media typeapplication/json
Any of:
CcWfmTimeOffRequestCreate
object
kind
required
Kind
string
Allowed value: time_off
start_date
required
Start Date
string format: date
end_date
required
End Date
string format: date
note
Any of:
string
<= 280 characters

Successful Response

Media typeapplication/json
CcWfmRequest
object
id
required
Id
string
revision
required
Revision
integer
kind
required
Kind
string
Allowed values: time_off swap
status
required
Status
string
Allowed values: pending approved denied cancelled
requester_user_id
required
Requester User Id
string
requester_name
required
Requester Name
string
note
required
Any of:
string
start_date
required
Any of:
string format: date
end_date
required
Any of:
string format: date
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
Activities
Array<object>
CcWfmActivity
object
kind
required
Kind
string
Allowed values: break lunch meeting training coaching custom time_off
starts_at
required
Starts At
string format: date-time
ends_at
required
Ends At
string format: date-time
reason_code
Any of:
string
label
Any of:
string
status
required
Status
string
Allowed values: draft published
template_id
required
Any of:
string
origin
required
Origin
string
Allowed values: manual generated swap template
published_at
required
Any of:
string format: date-time
changed_since_publish
required
Changed Since Publish
boolean
can_edit
required
Can Edit
boolean
counterpart_user_id
required
Any of:
string
counterpart_name
required
Any of:
string
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
Activities
Array<object>
CcWfmActivity
object
kind
required
Kind
string
Allowed values: break lunch meeting training coaching custom time_off
starts_at
required
Starts At
string format: date-time
ends_at
required
Ends At
string format: date-time
reason_code
Any of:
string
label
Any of:
string
status
required
Status
string
Allowed values: draft published
template_id
required
Any of:
string
origin
required
Origin
string
Allowed values: manual generated swap template
published_at
required
Any of:
string format: date-time
changed_since_publish
required
Changed Since Publish
boolean
can_edit
required
Can Edit
boolean
counterpart_status
required
Any of:
string
Allowed values: pending accepted declined
decided_by_name
required
Any of:
string
decision_note
required
Any of:
string
decided_at
required
Any of:
string format: date-time
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>
ValidationError
object
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": {}
}
]
}