Skip to content
vocapable.Docs

One customer conversation

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

Successful Response

Media typeapplication/json
WorkspaceThread
object
summary
required
WorkspaceThreadSummary
object
contact_id
required
Contact Id
string
organization_id
required
Any of:
string
organization_name
required
Any of:
string
contact_name
required
Contact 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
last_at
required
Last At
string format: date-time
last_kind
required
Last Kind
string
Allowed values: sms caller_request reply voicemail call
preview
required
Preview
string
tag
required
Tag
string
Allowed values: outreach_held pending_review draft awaiting_reply replied
status
required
Status
string
Allowed values: open resolved
resolved_at
required
Any of:
string format: date-time
resolved_by
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
assignee
required
Any of:
WorkspaceThreadAssignee

The teammate a conversation is assigned to: a membership of this company.

object
membership_id
required
Membership Id
string
user_id
required
Any of:
string
name
required
Name
string
active
required
Active
boolean
is_you
required
Is You
boolean
unread
required
Unread
boolean
revision
required
Revision
integer
phone_e164
required
Phone E164
string
items
required
Items
Array<object>
WorkspaceThreadItem
object
kind
required
Kind
string
Allowed values: sms caller_request reply voicemail call
id
required
Id
string
direction
required
Direction
string
Allowed values: inbound outbound
text
required
Text
string
status
required
Status
string
at
required
At
string format: date-time
author
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
subject
required
Any of:
string
media
required
Media
Array<object>
WorkspaceMessageMedia
object
id
required
Id
string
content_type
required
Content Type
string
size_bytes
required
Any of:
integer
status
required
Status
string
Allowed values: pending stored failed
call
Any of:
WorkspaceThreadCall

A call in a customer conversation (PRD E9-R2: one thread across calls, texts, voicemails and AI requests). Open it with /calls/{call_id}; its recording and transcript with /calls/{call_id}/recording and /calls/{call_id}/transcript (each enforces who may open it - a flag here is never access).

object
call_id
required
Call Id
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
outcome
required
Any of:
string
Allowed values: conversation callback no_answer do_not_contact not_interested voicemail failed wrong_number
outcome_label
required
Outcome Label
string
duration_seconds
required
Any of:
integer
has_recording
required
Has Recording
boolean
has_transcript
required
Has Transcript
boolean
personal_phone
required
Personal Phone
boolean
replies
required
Replies
Array<object>
WorkspaceReply

A reply to a customer: drafted, reviewed as an exact version, then sent once.

object
id
required
Id
string
contact_id
required
Any of:
string
case_id
required
Any of:
string
channel
required
Channel
string
Allowed values: sms email
body
required
Body
string
state
required
State
string
Allowed values: draft pending_review changes_requested declined approved sending provider_accepted delivered failed uncertain scheduled canceled
author
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
approval
required
Any of:
WorkspaceReplyApproval
object
id
required
Id
string
status
required
Status
string
Allowed values: awaiting_review changes_requested approved declined expired stale executing confirmed failed
reviewer
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
decided_by
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
reason
required
Any of:
string
revision
required
Revision
integer
to_address
required
Any of:
string
from_address
required
Any of:
string
provider_status
required
Any of:
string
error
required
Any of:
string
sent_at
required
Any of:
string format: date-time
delivered_at
required
Any of:
string format: date-time
can_edit
required
Can Edit
boolean
can_review
required
Can Review
boolean
can_send
required
Can Send
boolean
revision
required
Revision
integer
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
origin
required
Origin
string
Allowed values: reply compose recap
send_basis
required
Send Basis
string
Allowed values: review trusted_role
purpose
required
Any of:
string
Allowed values: informational marketing
scheduled_for
required
Any of:
string format: date-time
media
required
Media
Array<object>
WorkspaceMessageMedia
object
id
required
Id
string
content_type
required
Content Type
string
size_bytes
required
Any of:
integer
status
required
Status
string
Allowed values: pending stored failed
can_cancel
required
Can Cancel
boolean
promise
required
Any of:
WorkspaceTask
object
id
required
Id
string
kind
required
Kind
string
Allowed values: follow_up callback delivery review case_response meeting_prep
title
required
Title
string
organization_id
required
Any of:
string
contact_id
required
Any of:
string
opportunity_id
required
Any of:
string
subject_type
required
Any of:
string
Allowed values: handoff case meeting approval call quote
subject_id
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
due_at
required
Any of:
string format: date-time
status
required
Status
string
Allowed values: open done cancelled
completed_at
required
Any of:
string format: date-time
completed_by_user_id
required
Any of:
string
completion_note
required
Any of:
string
revision
required
Revision
integer
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
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
sending
required
WorkspaceSendAvailability
object
available
required
Available
boolean
code
required
Code
string
Allowed values: available messaging_unavailable no_byo_account account_unverified no_sms_number a2p_registration_required a2p_registration_pending a2p_registration_rejected no_address
requirement
required
Any of:
string
from_number
required
Any of:
string
phone_number_id
required
Any of:
string
registration_stage
required
Any of:
string
Allowed values: draft submitting brand_review brand_verification campaign_review active rejected suspended
suggested_reply
required
Any of:
string
can_send_directly
required
Can Send Directly
boolean
first_text
required
First Text
boolean
brand_name
required
Brand Name
string
Example
{
"summary": {
"last_kind": "sms",
"tag": "outreach_held",
"status": "open"
},
"items": [
{
"kind": "sms",
"direction": "inbound",
"media": [
{
"status": "pending"
}
],
"call": {
"direction": "outbound",
"phase": "requested",
"outcome": "conversation"
}
}
],
"replies": [
{
"channel": "sms",
"state": "draft",
"approval": {
"status": "awaiting_review"
},
"origin": "reply",
"send_basis": "review",
"purpose": "informational",
"media": [
{
"status": "pending"
}
]
}
],
"promise": {
"kind": "follow_up",
"subject_type": "handoff",
"status": "open"
},
"policy": {
"channel": "voice",
"holds": [
{
"code": "do_not_contact"
}
]
},
"sending": {
"code": "available",
"registration_stage": "draft"
}
}

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