Sessions
Bash in a browser: its live screen, a voice call, or the whole of Bash inside your app.
GET/v1/sessions/{session_id}/screenWith the session's token: the stream credentials of the user's Bash browser, good for 5 minutes.
For a session opened with a screen. 409 payment_in_progress while the person pays for something in their browser.
Request1 field
Path
session_idstringrequiredThe session's id (ses_...).
- Type
string
Answers 20010 fields
object"browser_stream"Always browser_stream.
- Type
"browser_stream"
neko_urlstringThe address of the screen's stream.
- Type
string
preview_tokenstring | nullA second token the stream address asks for, when it asks for one; null otherwise.
- Type
string | null
preview_token_paramstringmay be absentThe query parameter preview_token goes in, on the stream address and its picture. Absent: bl_preview_token.
- Example
_token
neko_tokenstringThe token for the screen's stream: good for 5 minutes, so read this again for a fresh one.
- Type
string
ice_serversobject[]Servers that help the WebRTC connection to the screen through firewalls; empty when none are set.
urlsstring[]The server's addresses (stun: or turn:).
- Type
string[]
usernamestringmay be absentIts username, for a TURN server.
- Type
string
credentialstringmay be absentIts password, for a TURN server.
- Type
string
widthintegerThe screen's width in pixels.
- Example
1440
heightintegerThe screen's height in pixels.
- Example
900
cropobjectmay be absentWhile a hand-off is open on the screen (a browser fetch with front, such as a sign-in): the part of the screen its page fills, at a phone's size, or only the element its front_crop named. Show only this part, and map taps into it. Absent: show the whole screen.
xintegerIts left edge, in screen pixels.
- Type
integer
yintegerIts top edge, in screen pixels.
- Type
integer
widthintegerIts width, in screen pixels.
- Type
integer
heightintegerIts height, in screen pixels.
- Type
integer
crop_pendingtruemay be absentA hand-off's front_crop is not on its page yet (for up to 20 seconds from its start): show no picture yet, and read this again in a couple of seconds for its crop. Absent: crop says what to show.
- Type
true
const session = await vestra.user('traveller-42').watch();const screen = await session.screen();session = vestra.user("traveller-42").watch()screen = session.screen()No sample in your language for this route, so here it is over HTTP.
curl "$VESTRA_BASE_URL/v1/sessions/{session_id}/screen" \ -H "Authorization: Bearer $SESSION_TOKEN"