> ## Documentation Index
> Fetch the complete documentation index at: https://docs.up.telestream.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Live Sources API

> Programmatic access to your live sources.

The Live Sources API lets your own systems do with live sources what you do with them in the platform. Each operation's page says which permission your API key needs, and **Check access** tells you what a key may do before you try.

## Engine version

The engine is the part of Live Sources that receives and analyses your streams, and its version decides which settings a source can have and what is reported about its stream. A source's settings and reports are free-form fields whose shape follows the source's engine version; [Engine Version](/platform/livesources-api/engine-version) explains this and documents the schemas of each version.

## How errors come back

Every failure is a *problem document* (RFC 9457), sent as `application/problem+json`:

```json theme={null}
{
  "type": "https://api.up.telestream.com/livesources/problems/source-not-inactive",
  "title": "failed precondition",
  "status": 409,
  "detail": "source is not in the 'inactive' state",
  "instance": "/livesources/v1/sources/3f1c0b7a-6d5e-4c8b-9a2f-1e0d7c6b5a49",
  "trace_id": "53eef580003859fb859feb990cf79075"
}
```

Branch on `type`, not on `title`: a type URI never changes meaning and always comes with the same status, while the title is there for people to read. When a request is refused because of its content, `detail` says what was wrong, in words meant for a person rather than a program. A `503` means something the request depends on is temporarily unavailable; it carries a `Retry-After` header saying how many seconds to wait.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.