Skip to content

Renew a short-lived manual human-rep availability lease

PUT
/v1/human-reps/{rep_id}/presence
curl --request PUT \
--url https://api.vocapable.com/v1/human-reps/example/presence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "status": "available" }'
rep_id
required
Rep Id
string
Media typeapplication/json
RepPresenceHeartbeatRequest

Renew one rep’s short manual-availability lease.

The caller cannot choose a longer expiry. A real gateway will authenticate its own rep-session credential in addition to this tenant API surface; until then this endpoint is an auditable management-plane advertisement, not proof of a connected phone and never sufficient for automatic transfer selection.

object
status
required
Status
string
Allowed values: available busy offline

Successful Response

Media typeapplication/json
RepPresence
object
rep_id
required
Rep Id
string
status
required
Status
string
Allowed values: available busy offline
lease_expires_at
required
Lease Expires At
string format: date-time
last_heartbeat_at
required
Last Heartbeat At
string format: date-time
fresh
required
Fresh
boolean
manual_only
Manual Only
boolean
default: true
automatic_transfer_eligible
Automatic Transfer Eligible
boolean
Example
{
"status": "available",
"manual_only": true,
"automatic_transfer_eligible": false
}

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