# Erste Schritte

### Einleitung

Die 3Q Plattform bietet eine REST-basierte Schnittstelle zur Automatisierung von Video-Workflows. Sie erlaubt unter anderem das Erstellen von Projekten, Hochladen von Assets, Konfigurieren von Livestreams und das verwalten von Playlists.

Die vollständige API Dokumentation finden Sie unter: <https://api.3qsdn.com/v3/doc>.

**Basis-URL:**

```txt
https://api.3qsdn.com/v3/
```

### Authentifizierung

Die API verwendet JWT (JSON Web Tokens) im Bearer-Format, die im Header jeder Anfrage mitgesendet werden müssen. Jeder Token ist einem Benutzer zugeordnet und übernimmt dessen Rechte.

**Beispiel-Header:**

```http
Authorization: Bearer <API_KEY>
Content-Type: application/json
```

### Allgemeines zur API

* **Format:** JSON
* **Fehlermeldungen:** HTTP-Statuscodes + Fehlerobjekt im Body
* **HTTP-Methoden:**
  * `GET`: Daten abrufen
  * `POST`: Ressourcen erstellen
  * `PUT`: Ressourcen aktualisieren
  * `DELETE`: Ressourcen löschen

### Ressourcen & Endpunkte (Auszug)

Je nachdem ob Sie Live- oder On-Demand Streaming betreiben wollen finden Sie im folgenden die wichtigsten API Endpunkte. Eine vollständige Liste finden Sie hier: <https://api.3qsdn.com/v3/doc>.

#### Projekte

* `GET /projects` – Alle Projekte anzeigen
* `POST /projects` – Projekt erstellen
* `GET /projects/{projectId}` – Projektdetails abrufen
* `PUT /projects/{projectId}` – Projekt bearbeiten
* `DELETE /projects/{projectId}` – Projekt löschen

#### Files (Video- oder Audiodateien)

* `POST /projects/{projectId}/files` – File uploaden
* `GET /projects/{projectId}/files` – Videoliste abrufen
* `DELETE /projects/{projectId}/files/{fileId}` – File löschen

#### Livestreams

* `(GET|PUT) /projects/{projectId}/live/ingest` – Ingest bearbeiten
* `(GET) /`projects/{projectId}/live/output – Playout URLs erhalten

#### Playlists

* `GET /modules/playlists` – Playlists abrufen
* `POST /modules/playlists` – Neue Playlist erstellen
* `GET /modules/playlists/{playlistId}` – Playlist abrufen
* `PUT /modules/playlists/{playlistId}`  – Playlist updaten
* `DELETE /modules/playlists/{playlistId}` – Playlist löschen

### Fehlerbehandlung

**Standard-HTTP-Statuscodes:**

* `200 OK`
* `201 Created`
* `400 Bad Request`
* `401 Unauthorized`
* `404 Not Found`
* `500 Internal Server Error`

**Beispiel Fehlerantwort:**

```json
{
  "error": {
    "code": 401,
    "message": "Missing JWT Refresh Token"
  }
}
```

### Pagination & Filter

Viele Endpunkte unterstützen Pagination und Filter:

```http
GET /projects?limit=10&offset=20
```

### Versionierung

* Aktuelle Version: `v3`
* Die Version ist in der URL integriert (`/v3/...`)

***

Letzte Aktualisierung: 28. Juli 2025


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://platform.docs.3q.video/api/erste-schritte.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
