---
title: "Get project details"
method: GET
path: "/projects/{id}"
tags: ["Projects"]
---

# Get project details

`GET /projects/{id}`

## Request

- Base URL: `https://api.livereacting.com/v1/external`
- URL: `https://api.livereacting.com/v1/external/projects/{id}`
- Auth: HTTP bearer

Returns detailed information about a specific project, including current live status,
viewer counts, and streaming destinations.

Use the `include` query parameter to expand the response with additional data:
- `scenes` - Include project scenes with embedded layers
- `scheduledLives` - Include scheduled broadcast information

Multiple includes can be combined: `include=scenes,scheduledLives`

## Path parameters

- `id` string, required

## Query parameters

- `include` string

## Response `200`

Project details

- ProjectDetail
  - `id` string: Unique project identifier
  - `name` string, nullable: Project name
  - `title` string, nullable: Stream title
  - `description` string, nullable: Stream description
  - `format` Format
    - `aspectRatio` string: Aspect ratio of the stream
    - `resolution` string: Resolution in WxH format
  - `createdAt` string, date-time, nullable: Project creation date
  - `autoSynch` boolean: Whether auto-sync is enabled
  - `unsyncedLive` boolean: Whether the project has unsynced live changes
  - `audioQuality` '128k' | '256k' | '320k': Audio quality setting
  - `maxFps` 30 | 60: Maximum frames per second for this project. Read-only (set via platform UI).
  - `customBitrate` integer, nullable: Custom streaming bitrate in kbps. Read-only (set via platform UI). Null when using default.
  - `privacyStatus` PrivacyStatus
    - `youtube` 'public' | 'private' | 'unlisted'
    - `facebook` 'SELF' | 'ALL_FRIENDS' | 'EVERYONE'
  - `duration` Duration
    - `planned` integer, nullable: Planned duration in seconds. Null if the duration is manual.
    - `elapsed` integer, nullable: Elapsed time in seconds. Null if not live.
    - `remaining` integer, nullable: Remaining time in seconds. Null if not live or the duration is manual. Capped at 0 (never negative).
    - `manual` boolean: If true, the stream runs until stopped, up to the plan's maximum stream length
  - `liveStatus` 'LIVE' | 'PREPARING' | 'SCHEDULED' | 'OFFLINE': Current live status
  - `activeLiveId` string, nullable: ID of the current live stream
  - `viewers` integer, nullable: Total current viewers across all destinations. Null if not live.
  - `peakViewers` integer, nullable: Peak viewers during current stream. Null if not live.
  - `scheduledLivesCount` integer: Number of future scheduled broadcasts
  - `destinations` Destination[]: Streaming destinations with runtime status
    - `provider` 'youtube' | 'facebook' | 'twitch' | 'instagram' | 'linkedin' | 'rtmp' | 'unknown': Streaming platform provider
    - `name` string, nullable: Account/channel name
    - `status` string: Current streaming status. Only present when live.
    - `viewingUrl` string: Public URL to watch the stream. Only present when live and available.
    - `viewers` integer: Current viewer count. Only present when live.
    - `peakViewers` integer: Peak viewer count during this stream. Only present when live.
    - `error` 'AUTH_ERROR' | 'PLATFORM_RATE_LIMITED' | 'CONNECTION_ERROR' | 'STREAM_ERROR' | 'UNKNOWN_ERROR': Error code if destination has an error. Only present when there is an error.
  - `scenes` Scene[]: Project scenes with embedded layers. Only included when include=scenes.
    - `id` string: Unique scene identifier
    - `name` string, nullable: Scene name
    - `isActive` boolean: Whether this scene is currently active
    - `layers` Layer[]: Layers in this scene (includes pinned layers)
      - `id` string: Unique layer identifier
      - `type` string: Layer type (e.g. videoPlaylist, image, text, audioPlaylist, video)
      - `name` string, nullable: Layer name
      - `nextScene` string: Only present when set — ID of scene to auto-switch to when playback finishes. Applies to video, videoPlaylist, and audioPlaylist layers.
      - `pinned` boolean: Only present when true — layer is visible on all scenes
  - `scheduledLives` ScheduledBroadcast[]: Scheduled broadcasts. Only included when include=scheduledLives.
    - `liveId` string: Unique live stream identifier
    - `date` string, date-time, nullable: Scheduled start time

## Other responses

- `401`: Authentication failed
- `404`: Project not found
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/livereacting/apis/livereacting-api.md) · [All operations](https://skmtc.dev/livereacting/apis/livereacting-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livereacting/apis/livereacting-api/revisions/17a9f1677fbf?raw)
