---
title: "run.session.control · OpenVibe.Services"
canonical: "https://openvibe.services/docs/capabilities/run.session.control"
updated: null
---

# run.session.control · OpenVibe.Services

HTML: [run.session.control · OpenVibe.Services](https://openvibe.services/docs/capabilities/run.session.control)

# `run.session.control`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

Grantable to apps: request it for an app on its project page. Network approves it only inside the project's allowance.

Use, curtain and end your own browser session: POST /api/v1/sessions/:id/commands with run.session-control-request@1 (screen, input and browser on the session's desk only, answered by run.session-control-result@1), POST /api/v1/sessions/:id/curtain ({ up }: the privacy screen the still honors) and POST /api/v1/sessions/:id/end (run.session@1, ended). Nothing else on the machine it runs on is reachable.

- Owner: run (token audience `openvibe.run`)
- Version: 1.0
- Status: active
- Visibility: public
- Resource constraints: owner
- Quota class: run-write
- Permissions: run:session:control
- Input: [run.session-control-request@1](/docs/contracts/run.session-control-request)
- Output: run.session-control-result@1
- Events: run.session.ended
- Implemented by: - `POST /api/v1/sessions/:id/commands`
- `POST /api/v1/sessions/:id/curtain`
- `POST /api/v1/sessions/:id/end`

[These routes in the API explorer](/docs/api/run#cap-run.session.control)
