sessions module route (requires sessions:run:write)
POST
/v1/m/sessions/runs/{ref}/stop
const url = 'https://example.com/v1/m/sessions/runs/example/stop';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"reason":"example","work_lease_fence":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/m/sessions/runs/example/stop \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "reason": "example", "work_lease_fence": 1 }'Stops one session run; a fenced stop carries the lease fence, and a reason without a fence is refused.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” ref
required
string
Path parameter ref.
Header Parameters
Section titled “Header Parameters ” X-Olivares-Tenant
string format: uuid
Target tenant id; required when the principal can act in more than one tenant.
Request Body
Section titled “Request Body ” Media type application/json
Optional fenced stop command. An empty body preserves legacy non-work run behavior; reason requires a positive work_lease_fence.
object
reason
string
work_lease_fence
integer format: int64
Example generated
{ "reason": "example", "work_lease_fence": 1}Responses
Section titled “ Responses ”OK
Media type application/json
object
Example generated
{}Bad request
Media type application/json
object
Example generated
{}Unauthenticated
Media type application/json
object
Example generated
{}Forbidden
Media type application/json
object
Example generated
{}Not found
Media type application/json
object
Example generated
{}Conflict / setup required
Media type application/json
object
Example generated
{}Rate limited
Media type application/json
object
Example generated
{}