Skip to content
vocapable.Docs

The call desk beside one customer

GET
/v1/workspace/queue/{contact_id}
curl --request GET \
--url https://api.vocapable.com/v1/workspace/queue/example \
--header 'Authorization: Bearer <token>'
contact_id
required
Contact Id
string

Successful Response

Media typeapplication/json
WorkspaceDesk

Everything the call desk shows beside one person.

object
row
required
WorkspaceQueueRow
object
contact_id
required
Contact Id
string
organization_id
required
Any of:
string
organization_name
required
Any of:
string
name
required
Name
string
title
required
Any of:
string
owner
required
Any of:
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
assignment
required
Assignment
string
Allowed values: assigned_to_you assigned_to_teammate unassigned
status
required
Status
string
Allowed values: ready held do_not_contact contact_review_needed
hold
required
Any of:
WorkspacePolicyHold
object
code
required
Code
string
Allowed values: do_not_contact owned_by_teammate owner_unassigned device_not_ready not_available no_address contact_review_needed ai_consent_missing callback_scheduled timezone_unknown outside_local_window frequency_cap_reached service_not_entitled spend_cap_reached
message
required
Message
string
recovery
required
Recovery
string
stage
required
Any of:
string
need
required
Any of:
string
next_step
required
Any of:
string
phone_e164
required
Phone E164
string
email
required
Any of:
string
source
required
Any of:
string
source_detail
required
Any of:
string
next_step_due_at
required
Any of:
string format: date-time
policy
required
WorkspacePolicySummary

The current contact-policy answer for the viewing person, on one channel.

object
channel
required
Channel
string
Allowed values: voice sms email
allowed
required
Allowed
boolean
holds
required
Holds
Array<object>
WorkspacePolicyHold
object
code
required
Code
string
Allowed values: do_not_contact owned_by_teammate owner_unassigned device_not_ready not_available no_address contact_review_needed ai_consent_missing callback_scheduled timezone_unknown outside_local_window frequency_cap_reached service_not_entitled spend_cap_reached
message
required
Message
string
recovery
required
Recovery
string
recipient_local_time
required
Any of:
string format: date-time
window_opens_at
required
Any of:
string format: date-time
evaluated_at
required
Evaluated At
string format: date-time
policy_version
required
Policy Version
string
window_start_local
Any of:
string format: time
window_end_local
Any of:
string format: time
window_jurisdictions
Window Jurisdictions
Array<string>
frequency_cap
Any of:
integer
frequency_cap_period_hours
Any of:
integer
cap_clears_at
Any of:
string format: date-time
rules_version
Any of:
string
checks
required
Checks
Array<object>
WorkspaceContactCheck
object
key
required
Key
string
Allowed values: relationship_owner human_contact_evidence recipient_local_time device_readiness ai_outbound_calling recording
title
required
Title
string
ok
required
Ok
boolean
detail
required
Detail
string
active_call
required
Any of:
WorkspaceCall
object
id
required
Id
string
contact_id
required
Any of:
string
organization_id
required
Any of:
string
organization_name
required
Any of:
string
contact_name
required
Any of:
string
handler
required
Any of:
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
direction
required
Direction
string
Allowed values: outbound inbound handoff
phase
required
Phase
string
Allowed values: requested ringing talking transfer_pending wrap_up completed failed abandoned
muted
required
Muted
boolean
on_hold
required
On Hold
boolean
recording
required
Recording
string
Allowed values: off on
requested_at
required
Requested At
string format: date-time
answered_at
required
Any of:
string format: date-time
ended_at
required
Any of:
string format: date-time
wrapped_at
required
Any of:
string format: date-time
outcome
required
Any of:
string
Allowed values: conversation callback no_answer do_not_contact not_interested voicemail failed wrong_number
notes
required
Any of:
string
next_step
required
Any of:
string
callback_at
required
Any of:
string format: date-time
failure_reason
required
Any of:
string
transfer
required
Any of:
WorkspaceCallTransfer
object
id
required
Id
string
call_id
required
Call Id
string
from_user
required
Any of:
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
to_user
required
Any of:
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
state
required
State
string
Allowed values: requested ringing accepted completed declined timed_out failed returned
context
required
WorkspaceTransferContext
object
need
required
Any of:
string
notes
required
Any of:
string
requested_at
required
Requested At
string format: date-time
accepted_at
required
Any of:
string format: date-time
completed_at
required
Any of:
string format: date-time
ended_at
required
Any of:
string format: date-time
revision
required
Revision
integer
kind
Kind
string
default: warm
Allowed values: warm blind external park receptionist
destination
Any of:
WorkspaceTransferDestination

A number the owner allow-listed for external transfers and three-way calls (E5-R3).

object
id
required
Id
string
name
required
Name
string
phone_e164
required
Phone E164
string
revision
required
Revision
integer
payment_line
Payment Line
boolean
transferred_from_call_id
required
Any of:
string
caller_request_id
required
Any of:
string
links
required
WorkspaceCallLinks

The work a call was placed from, carried to its wrap-up (PRD E10-R1/R2).

Each link is null when there is none, and also when the record has since been deleted or is no longer one the handler may see.

object
task
required
Any of:
WorkspaceCallLinkRef

One piece of work a call is linked to, as the handler may see it.

object
id
required
Id
string
title
required
Title
string
state
required
State
string
revision
required
Revision
integer
opportunity
required
Any of:
WorkspaceCallLinkRef

One piece of work a call is linked to, as the handler may see it.

object
id
required
Id
string
title
required
Title
string
state
required
State
string
revision
required
Revision
integer
case
required
Any of:
WorkspaceCallLinkRef

One piece of work a call is linked to, as the handler may see it.

object
id
required
Id
string
title
required
Title
string
state
required
State
string
revision
required
Revision
integer
callback
required
Any of:
WorkspaceCallLinkRef

One piece of work a call is linked to, as the handler may see it.

object
id
required
Id
string
title
required
Title
string
state
required
State
string
revision
required
Revision
integer
caller_request_id
required
Any of:
string
missed
Any of:
WorkspaceCallLinkRef

One piece of work a call is linked to, as the handler may see it.

object
id
required
Id
string
title
required
Title
string
state
required
State
string
revision
required
Revision
integer
voicemail
Any of:
WorkspaceCallLinkRef

One piece of work a call is linked to, as the handler may see it.

object
id
required
Id
string
title
required
Title
string
state
required
State
string
revision
required
Revision
integer
revision
required
Revision
integer
channel
required
Channel
string
Allowed values: app personal_sim carrier_callback
line
required
Any of:
WorkspaceCallLine

The business line a call came from (E12-R1): the company’s own number, named.

object
id
required
Id
string
name
required
Name
string
phone_e164
required
Phone E164
string
voicemail_drop_name
Any of:
string
voicemail_drop_at
Any of:
string format: date-time
held_at
Any of:
string format: date-time
participants
Participants
Array<object>
WorkspaceCallParticipant

An extra leg of a live call (E5-R4 three-way, E5-R7 the handler’s own phone).

object
id
required
Id
string
kind
required
Kind
string
Allowed values: teammate external device
person
required
Any of:
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
destination_name
required
Any of:
string
destination_e164
required
Any of:
string
state
required
State
string
Allowed values: requested ringing joined left failed dropped
requested_at
required
Requested At
string format: date-time
joined_at
required
Any of:
string format: date-time
ended_at
required
Any of:
string format: date-time
transcription
WorkspaceCallTranscription

What a person is told about a call’s transcript (PRD E7-R6, E6-R8).

label is the exact sentence the clients show (“Transcribing”, “Not recorded - made from a personal phone”, …) so the web console and the app use the same words.

object
status
Status
string
default: off
Allowed values: off live ended failed
untranscribed_reason
Any of:
string
Allowed values: personal_phone consent_off disclosure_not_played feature_off carrier_unavailable not_connected
label
Label
string
default: Not transcribed
wrap_up_provenance
Wrap Up Provenance
object
key
additional properties
string
Allowed values: ai_drafted edited manual
recording_status
Any of:
WorkspaceCallRecordingStatus

The persistent recording indicator and its controls (Apple 2.5.14).

object
state
required
State
string
Allowed values: off starting recording paused stopped completed failed
label
required
Label
string
line_mode
required
Line Mode
string
Allowed values: off record_all on_demand
can_start
required
Can Start
boolean
can_pause
required
Can Pause
boolean
can_resume
required
Can Resume
boolean
can_stop
required
Can Stop
boolean
announcement_pending
required
Announcement Pending
boolean
disclosure_played_at
required
Any of:
string format: date-time
refused
required
Refused
boolean
consent_hint
required
Any of:
WorkspaceConsentHint

A UI hint about the far party’s location; NEVER suppresses the announcement.

object
kind
required
Kind
string
Allowed values: all_party_state unknown no_all_party_hint
state
required
Any of:
string
label
required
Label
string
refusal_source
Any of:
string
Allowed values: rep keypress ai_receptionist
supervision
Any of:
WorkspaceCallSupervision

A manager or owner listening to, whispering to or joined to a live call.

Shown to the REP on their own call (notice: “Priya is listening”) - supervision is never silent. ringing = the supervisor’s leg is connecting; joined = the carrier confirmed it is in the call.

object
id
required
Id
string
supervisor
required
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
mode
required
Mode
string
Allowed values: listen whisper barge
channel
required
Channel
string
Allowed values: app phone
state
required
State
string
Allowed values: requested ringing joined ended failed
notice
required
Notice
string
requested_at
required
Requested At
string format: date-time
joined_at
required
Any of:
string format: date-time
ended_at
required
Any of:
string format: date-time
end_reason
required
Any of:
string
revision
required
Revision
integer
answered_from
Any of:
WorkspaceCallAnsweredFrom

How an inbound caller reached the person who answered (PRD E3-R2, E3-R11).

queue: they answered the caller from the shared-phone queue (app, browser or verified phone) - ticket_id is the queue’s record of the caller. ai_handoff: they took the AI receptionist’s direct handoff - handoff_request_id is the live handoff (its brief is /call-handoffs/{id}/brief). ai_call_id is the AI receptionist’s call the caller had first, when there was one.

object
kind
required
Kind
string
Allowed values: queue ai_handoff
ticket_id
required
Any of:
string
handoff_request_id
required
Any of:
string
ai_call_id
required
Any of:
string
scheduled_ring
Any of:
WorkspaceCallScheduledRing

A due scheduled callback the server rang the person’s app for (PRD E2-R7).

label is what the ring shows once the app has read the call (“Callback: Dana, Lakeside”); the VoIP push itself carries identifiers only. The customer is dialled only after the person answers that ring.

object
task_id
required
Task Id
string
due_at
required
Due At
string format: date-time
label
required
Label
string
open_request
required
Any of:
WorkspaceIncomingItem

A request a caller left with the AI receptionist, routed to people.

object
id
required
Id
string
kind
required
Kind
string
Allowed values: message support_ticket
state
required
State
string
Allowed values: open acknowledged resolved
severity
required
Any of:
string
contact_id
required
Any of:
string
organization_id
required
Any of:
string
organization_name
required
Any of:
string
contact_name
required
Any of:
string
caller_name
required
Any of:
string
subject
required
Any of:
string
reason
required
Reason
string
called_company
required
Called Company
string
ai_call_id
required
Any of:
string
assignee
required
Any of:
WorkspacePersonRef

A teammate named on a record: the id the server holds and the name to show.

object
user_id
required
User Id
string
name
required
Name
string
created_at
required
Created At
string format: date-time
version
required
Version
integer
voice
required
WorkspaceVoiceStatus

Whether this company’s people can call from the browser, and what is missing.

object
state
required
State
string
Allowed values: ready needs_setup unavailable
code
required
Code
string
Allowed values: ready voice_plane_unavailable no_byo_account account_unverified no_voice_number not_provisioned provisioning_failed
message
required
Message
string
recovery
required
Recovery
string
can_set_up
required
Can Set Up
boolean
caller_id
required
Any of:
string
telephony_account_id
required
Any of:
string
last_error
Any of:
string
incoming_push
Any of:
WorkspaceIncomingPush

Whether a backgrounded or locked phone can be rung, per platform. Non-fatal: browser calling works whatever this says.

object
apns
required
Apns
string
Allowed values: ready missing_material failed not_provisioned
fcm
required
Fcm
string
Allowed values: ready missing_material failed not_provisioned
errors
Errors
object
key
additional properties
string
Example
{
"row": {
"assignment": "assigned_to_you",
"status": "ready",
"hold": {
"code": "do_not_contact"
}
},
"policy": {
"channel": "voice",
"holds": [
{
"code": "do_not_contact"
}
]
},
"checks": [
{
"key": "relationship_owner"
}
],
"active_call": {
"direction": "outbound",
"phase": "requested",
"recording": "off",
"outcome": "conversation",
"transfer": {
"state": "requested",
"kind": "warm",
"destination": {
"payment_line": false
}
},
"channel": "app",
"participants": [
{
"kind": "teammate",
"state": "requested"
}
],
"transcription": {
"status": "off",
"untranscribed_reason": "personal_phone",
"label": "Not transcribed"
},
"wrap_up_provenance": {
"additionalProperty": "ai_drafted"
},
"recording_status": {
"state": "off",
"line_mode": "off",
"consent_hint": {
"kind": "all_party_state"
},
"refusal_source": "rep"
},
"supervision": {
"mode": "listen",
"channel": "app",
"state": "requested"
},
"answered_from": {
"kind": "queue"
}
},
"open_request": {
"kind": "message",
"state": "open"
},
"voice": {
"state": "ready",
"code": "ready",
"incoming_push": {
"apns": "ready",
"fcm": "ready"
}
}
}

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": {}
}
]
}