# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Anbox Stream Gateway Session API version: 1.0.0 extends: openapi/canonical-session-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 11 - target: $.paths['/1.0/session/{id}/sockets/adb'].get update: x-apievangelist-phrasing: intent: Attach to a streaming session as an ADB client effect: read questions: - How do I connect ADB to a running Anbox streaming session? - Which websocket gives me Android debug bridge access to a session? instructions: - text: Open the ADB websocket for Anbox streaming session {id}. slots: id: path.id - text: Start signaling on the session with the adb role. method: generated generated: '2026-10-01' - target: $.paths['/1.0/session/{id}/sockets/master'].get update: x-apievangelist-phrasing: intent: Attach to a streaming session as master effect: read questions: - What websocket does the master client use to drive a streaming session? - Do I have to join a session before connecting with the master role? instructions: - text: Open the master signaling websocket for joined session {id}. slots: id: path.id - text: Connect to the Android session as the controlling master client. method: generated generated: '2026-10-01' - target: $.paths['/1.0/session/{id}/sockets/slave'].get update: x-apievangelist-phrasing: intent: Attach to a streaming session as a secondary client effect: read questions: - How does a secondary viewer connect to someone else's streaming session? - Which websocket is used for the slave role in a shared session? instructions: - text: Open the slave signaling websocket for shared session {id}. slots: id: path.id - text: Connect to the session as a secondary, non-master client. method: generated generated: '2026-10-01' - target: $.paths['/1.0/sessions'].get update: x-apievangelist-phrasing: intent: List streaming sessions effect: read questions: - How do I see all the Anbox streaming sessions currently running? - Can I filter sessions by status and sort them? instructions: - text: List sessions with status {status}. slots: status: query.status - text: Show {limit} sessions sorted by {sort_by} in {sort_order} order. slots: limit: query.limit sort_by: query.sort_by sort_order: query.sort_order method: generated generated: '2026-09-26' - target: $.paths['/1.0/sessions'].post update: x-apievangelist-phrasing: intent: Start a new streaming session for an app effect: write questions: - How do I start streaming an Android app to a user? - Can I choose the region and screen size when creating a session? - Is it possible to make a session ephemeral or joinable by others? instructions: - text: Create a session for app {app} in region {region}. slots: app: requestBody.app region: requestBody.region - text: Start a session of {app} version {app_version} with screen {screen}. slots: app: requestBody.app app_version: requestBody.app_version screen: requestBody.screen - text: Launch {app} in a session that idles out after {idle_time_min} minutes. slots: app: requestBody.app idle_time_min: requestBody.idle_time_min method: generated generated: '2026-09-26' - target: $.paths['/1.0/sessions'].delete update: x-apievangelist-phrasing: intent: Delete several streaming sessions at once effect: destructive questions: - Can I end a batch of streaming sessions in one call? - How do I force-delete multiple sessions by their IDs? instructions: - text: Delete sessions {ids}. slots: ids: requestBody.ids - text: 'Force-delete the batch of sessions {ids} and wait: {sync}.' slots: ids: requestBody.ids sync: query.sync method: generated generated: '2026-09-26' - target: $.paths['/1.0/sessions/{id}'].get update: x-apievangelist-phrasing: intent: Get a streaming session by ID effect: read questions: - How do I check the status of one streaming session? - What details come back for a single session? instructions: - text: Show session {id}. slots: id: path.id - text: Check whether session {id} is still running. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/1.0/sessions/{id}'].delete update: x-apievangelist-phrasing: intent: End and delete one streaming session effect: destructive questions: - How do I stop and remove a single streaming session? - Can I force the deletion of a session that is stuck? instructions: - text: Delete session {id}. slots: id: path.id - text: 'Force-delete session {id} synchronously: {sync}.' slots: id: path.id sync: query.sync method: generated generated: '2026-09-26' - target: $.paths['/1.0/sessions/{id}/connect'].get update: x-apievangelist-phrasing: intent: Get client credentials for a running session effect: read questions: - How does a client get the URL and credentials to reach a running session? - Can I reconnect a client to an existing Anbox session? instructions: - text: Get the connection URL and credentials for running session {id}. slots: id: path.id - text: Reconnect a client to the existing session. method: generated generated: '2026-10-01' - target: $.paths['/1.0/sessions/{id}/join'].post update: x-apievangelist-phrasing: intent: Join a running session's signaling effect: write questions: - What do I call to join an already running streaming session? - Can I pass my own screen settings when joining a session? instructions: - text: Join running session {id} with screen settings {screen}. slots: id: path.id screen: requestBody.screen - text: Join the session and give me the signaling URL. method: generated generated: '2026-10-01' - target: $.paths['/1.0/sessions/{id}/share'].post update: x-apievangelist-phrasing: intent: Create a share link for a running session effect: write questions: - How do I share a live streaming session with another person? - Can a session share link expire after a set number of minutes? instructions: - text: Share running session {id} with a link that expires in {expiry_min} minutes. slots: id: path.id expiry_min: requestBody.expiry_min - text: Create a {type} share for this session. slots: type: requestBody.type method: generated generated: '2026-10-01'