---
title: "Mint a remote control link for one HTML source."
method: POST
path: "/api/flows/{flow_id}/blocks/{block_id}/devtools/link"
tags: ["devtools"]
---

# Mint a remote control link for one HTML source.

`POST /api/flows/{flow_id}/blocks/{block_id}/devtools/link`

## Request

- The document declares no server URL.
- Auth: none declared

The block is the name an operator has for a page, so this is the endpoint a
client uses. The link is for the block: a session opens on the page the
block renders at that moment, whatever URL it is on and however many other
blocks share its URL, and a restarted flow's new page is reached through
the same link.

## Path parameters

- `flow_id` string, required
- `block_id` string, required

## Response `200`

A remote control link for this HTML source

- DevToolsLink: A minted remote control link. The path is the whole credential: it names no target, carries no API token and spells out no address or port, so handing it over hands over exactly what it says and nothing more. It dies on its own if it goes unused.
  - `expires_in_seconds` integer, required: How long the link survives without being used. Each use starts it over.
  - `id` string, required: A name for this link that is not the credential. Safe to show, store and log. It is what `DELETE /api/devtools/links/{id}` takes, so a link can be revoked without anyone having to keep the key.
  - `path` string, required: Path to open in a browser, relative to this Strom instance. This one *is* the credential — everything under it is reachable by whoever holds it, so it is handed to a person, never logged or stored.
  - `warning` string, required: What the holder of this link can actually reach, in Strom's words: one of [`SCREENCAST_CONTROL_WARNING`] (with [`SHARED_CONTEXT_WARNING`] appended when sources share a browser context) or [`REMOTE_CONTROL_WARNING`]. A client shows it to the operator before handing the link on.

## Other responses

- `401`: Authentication required
- `403`: The block has remote control switched off
- `404`: No such block, or it is not rendering a page yet

## Changes

- **2026-10-02** `0f79258b5369`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/eyevinn/apis/strom-api/changes/api/flows/:flow_id/blocks/:block_id/devtools/link/post.md)

---

[API](https://skmtc.dev/eyevinn/apis/strom-api.md) - [All operations](https://skmtc.dev/eyevinn/apis/strom-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eyevinn/apis/strom-api/revisions/8cd4dbc44175?raw)
