Skip to content
vocapable.Docs

Set this tenant's purchased extra concurrent sessions

PUT
/v1/subscription/extra-sessions
curl --request PUT \
--url https://api.vocapable.com/v1/subscription/extra-sessions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "extra_sessions": 1 }'

Set purchased outbound capacity using a durable provider operation.

Read live items before claiming the frozen mutation. A committed claim owns the source across provider I/O; exact provider correlation and local completion are required before returning success. A retry can recover an earlier request before applying a different absolute target. Stripe’s default proration is retained.

Media typeapplication/json
ExtraSessionsRequest

The absolute purchased quantity - never a delta, so retries converge on N.

object
extra_sessions
required
Extra Sessions
integer
Examplegenerated
{
"extra_sessions": 1
}

Successful Response

Media typeapplication/json
Subscription
object
id
required
Id
string
status
required
Status
string
Allowed values: trialing active past_due unpaid canceled
plan
required
PlanSummary
object
id
required
Id
string
name
required
Name
string
base_price_minor
required
Base Price Minor
integer
currency
required
Currency
string
included_quantities
Included Quantities
object
key
additional properties
string
/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/
overage_rates
Overage Rates
object
key
additional properties
string
/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/
concurrency_limit
required
Concurrency Limit
integer
receptionist_connections_included
Receptionist Connections Included
integer
0
term
Any of:
string
Allowed values: mtm three_year
feature_flags
Feature Flags
object
key
additional properties
any
workload_class
Any of:
string
Allowed values: engage workforce sales receptionist
extra_sessions
Extra Sessions
integer
0
total_sessions
required
Total Sessions
integer
receptionist_connections
Receptionist Connections
integer
0
total_receptionist_connections
required
Total Receptionist Connections
integer
offer_id
Any of:
string
receptionist_tier
Any of:
string
Allowed values: free starter business scale
receptionist_phone_mode
Any of:
string
Allowed values: managed byo
included_ai_seconds
Included Ai Seconds
integer
0
included_managed_numbers
Included Managed Numbers
integer
0
ai_allowance
Any of:
InboundAiAllowance

Actual provider-anniversary ledger, not a calendar-month estimate.

object
period_id
required
Any of:
string
period_start
required
Period Start
string format: date-time
period_end
required
Period End
string format: date-time
included_seconds
required
Included Seconds
integer
consumed_seconds
required
Consumed Seconds
integer
reserved_seconds
required
Reserved Seconds
integer
remaining_seconds
required
Remaining Seconds
integer
overage_seconds
Overage Seconds
integer
0
minute_rate_minor
required
Minute Rate Minor
string
/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/
current_period_start
required
Current Period Start
string format: date-time
current_period_end
required
Current Period End
string format: date-time
overrides
Overrides
object
key
additional properties
any
spend_cap
Any of:
SpendCap

The cap pacer governor #4 enforces, wherever it is currently stored.

wallet is the canonical P1 store; subscription_override is the P0 store that remains readable until every cap has migrated (docs/11-billing.md §Wallet).

object
amount_minor
required
Amount Minor
integer
period
Any of:
string
source
required
Source
string
Allowed values: wallet subscription_override
created_at
required
Created At
string format: date-time
updated_at
required
Updated At
string format: date-time
Example
{
"status": "trialing",
"plan": {
"receptionist_connections_included": 0,
"term": "mtm"
},
"workload_class": "engage",
"extra_sessions": 0,
"receptionist_connections": 0,
"receptionist_tier": "free",
"receptionist_phone_mode": "managed",
"included_ai_seconds": 0,
"included_managed_numbers": 0,
"ai_allowance": {
"overage_seconds": 0
},
"spend_cap": {
"source": "wallet"
}
}

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