---
title: "run.session-list-result@1 · OpenVibe.Services"
canonical: "https://openvibe.services/docs/contracts/run.session-list-result"
updated: null
---

# run.session-list-result@1 · OpenVibe.Services

HTML: [run.session-list-result@1 · OpenVibe.Services](https://openvibe.services/docs/contracts/run.session-list-result)

# RunSessionListResult `run.session-list-result@1`

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).

- Version: 1.0.0
- Owner: run
- Visibility: public
- Status: active
- Compatibility: backward
- Schema: [`https://openvibe.network/contracts/run/session-list-result.v1.json`](/docs/contracts/run.session-list-result.json)

run.session-list-result@1 (the Desks plan's D6): GET /api/v1/sessions on OpenVibe.Run (capability run.session.read): the caller's own sessions, newest first, running ones by default (?state=ended or ?state=all for others), at most limit (default 20, at most 100) per page; next\_cursor continues the list and is null on the last page.

## Fields

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| `sessions` | [run.session](/docs/contracts/run.session) | yes |  | - `maxItems 100` |
| `next_cursor` | string \| null | yes |  | - `maxLength 200` |

## Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

 Valid: one

~~~~
{
  "sessions": [
    {
      "id": "ses_01JD2C3D4E5F6G7H8J9K0MNPQR",
      "owner": {
        "type": "user",
        "id": "usr_01JAB2C3D4E5F6G7H8J9K0MNPQ"
      },
      "via": "service:actor",
      "kind": "browser",
      "state": "running",
      "size": {
        "width": 1280,
        "height": 800
      },
      "ttl_s": 3600,
      "idle_s": 900,
      "placement": {
        "machine": "dev_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
        "desk": "desk-s0mnpqr",
        "trust": "community",
        "offer_id": "desk:dev_01J8Z4M2Q0R7T9YV3K6N8P1W2X",
        "region": "eu",
        "reasons": [
          "a shared desk host with room"
        ]
      },
      "timings": {
        "created_at": "2026-10-28T10:00:00Z",
        "started_at": "2026-10-28T10:00:04Z",
        "last_used_at": "2026-10-28T10:05:00Z",
        "ended_at": null
      },
      "end": null,
      "usage": {
        "desk_seconds": 296
      },
      "idempotency_key": null
    }
  ],
  "next_cursor": null
}
~~~~

Rejected: no-cursor

~~~~
{
  "sessions": []
}
~~~~

## Validate

~~~~
const contracts = require('openvibe-contracts');
contracts.validate('run.session-list-result@1', value);   // { valid, errors: [{ path, message }] }
~~~~
