---
title: "Create desktop session"
method: POST
path: "/api/v1/desktop/session"
tags: ["Desktop Companion"]
---

# Create desktop session

`POST /api/v1/desktop/session`

## Request

- Base URL: `https://www.devspeak.dev`
- URL: `https://www.devspeak.dev/api/v1/desktop/session`
- Auth: HTTP bearer

Creates or refreshes a desktop session token. Requires Firebase auth.

## Request body

- DesktopSessionCreateRequest
  - `deviceId` string, required
  - `deviceLabel` string, required
  - `runtime` 'electron' | 'tauri' | 'unknown'

## Response `201`

Desktop session created

- DesktopSessionResponse
  - `success` true, required
  - `data` object, required
    - `token` string, required
    - `expiresInSeconds` integer, required
    - `scopes` DesktopSessionScope[], required
    - `device` DesktopDevice, required
      - `deviceId` string, required
      - `deviceLabel` string, required
      - `platform` 'desktop-app', required
      - `runtime` 'electron' | 'tauri' | 'unknown', required
      - `lastSeenAt` string, date-time, required

## Other responses

- `400`: Validation error
- `401`: Missing or invalid credentials
- `500`: Internal server error

---

[API](https://skmtc.dev/devspeak/apis/devspeak-api-v1.md) · [All operations](https://skmtc.dev/devspeak/apis/devspeak-api-v1/llms.txt) · [OpenAPI document](https://skmtc.dev/devspeak/apis/devspeak-api-v1/revisions/7000833a5bbf?raw)
