Skip to main content
POST
Create and provision a provider-routed training session.

Authorizations

Authorization
string
header
required

Whitney-issued API key. No organization-selection header is accepted.

Body

application/json
request_id
string
required
Required string length: 1 - 200
provider
enum<string>
default:auto
Available options:
auto,
modal,
tinker
provider_preferences
enum<string>[]
Maximum array length: 2
Available options:
modal,
tinker
funding_preference
enum<string>
default:auto
Available options:
auto,
platform,
byok
credential_id
string | null
Required string length: 1 - 200
max_cost_microusd
integer | null

Optional immutable session ceiling in micro-USD. A request value replaces the organization default and is reserved exactly. If both are absent, a platform-funded session atomically reserves up to $100 of remaining organization headroom without crossing the shared -$100 credit floor. BYOK sessions may remain null while time and lease bounds still apply.

Required range: x >= 1
idle_ttl_s
integer | null
Required range: 60 <= x <= 86400
metadata
object

Response

The session was created or an idempotent equivalent was returned.

id
string
required
Pattern: ^wts_[0-9a-f]{32}$
status
enum<string>
required
Available options:
provisioning,
ready,
failed,
closing,
closed,
interrupted,
timed_out
provider
enum<string>
required
Available options:
modal,
tinker
funding_source
enum<string>
required
Available options:
platform,
byok
lease_epoch
integer
required
Required range: x >= 0
lease_expires_at
string<date-time>
required
max_cost_microusd
integer | null
required
error_code
string | null
required
capability
object
required
capability_snapshot
object
required
created_at
string<date-time>
required
updated_at
string<date-time>
required