BashBrainTeammatesPricingDevelopersGet a test key

Sessions

Bash in a browser: its live screen, a voice call, or the whole of Bash inside your app.

Send Authorization: Bearer vk_test_... on every call. Every route of Sessions.

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.

A session's token. On the card: watch. Over HTTP it is made from the contract: fill in each {…} and every value.

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
TypeScript
const session = await vestra.user('traveller-42').watch();const screen = await session.screen();
Python
session = vestra.user("traveller-42").watch()screen = session.screen()
HTTP

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"