Erste Schritte

Paginierung und Filter

Listen (/tvs, /files und /playlists) sind paginiert. Die Elemente stehen in data, die Seiteninformationen in meta.

NameTypBeschreibung
pageintegerSeite, beginnend bei 1. Standard: 1.
per_pageintegerElemente pro Seite, von 1 bis 100. Standard: 50.

Felder von meta

page integer
Aktuelle Seite.
per_page integer
Elemente pro Seite.
total integer
Gesamtzahl der gefundenen Elemente über alle Seiten hinweg.
total_pages integer
Gesamtzahl der Seiten.

Um alles abzurufen, beginnen Sie bei page=1 und blättern weiter, bis Sie total_pages erreichen. Eine Seite nach der letzten liefert ein leeres data.

Filter

Filter lassen sich miteinander und mit der Paginierung kombinieren. Der Wert total in meta berücksichtigt die Filter bereits.

NameTypBeschreibung
organizationstringuid einer Organisation, um nur deren Elemente zu erhalten (siehe /organizations).
qstringTeil des Namens, bis zu 100 Zeichen.
typestringDateityp, z. B. image oder video. Nur bei /files.
archivedinteger1 für nur archivierte oder 0 für nur nicht archivierte Dateien. Nur bei /files.

Reihenfolge

TVs und Playlists sind alphabetisch sortiert, Dateien von der neuesten zur ältesten.

Anfrage
curl "https://api.on-cloud.live/v1/tvs?per_page=2" \
  -H "X-API-Key: $API_KEY"
<?php
$ch = curl_init('https://api.on-cloud.live/v1/tvs?per_page=2');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('API_KEY')],
]);
$response = json_decode(curl_exec($ch), true);
const res = await fetch('https://api.on-cloud.live/v1/tvs?per_page=2', {
  headers: { 'X-API-Key': process.env.API_KEY }
});
const { data, meta } = await res.json();
Antwort200
{
  "data": [
    {
      "uid": "d3d9446802a44259755d38e6d163e820",
      "name": "Caixa 2",
      "description": "",
      "organization": {
        "uid": "1679091c5a880faf6fb5e6087eb1b2dc",
        "name": "Loja Shopping Norte"
      },
      "playlist": null,
      "status": "offline",
      "last_seen_at": "2026-11-01T18:04:51-03:00",
      "activated_at": "2025-03-12T09:41:05-03:00",
      "app_version": "3.12.83",
      "os": "android",
      "device": {
        "brand": "Philco",
        "model": "PTV32G70"
      },
      "timezone": "America/Sao_Paulo"
    },
    {
      "uid": "c98cb8f9cc62887d1f6cf5693df9219c",
      "name": "Recepção",
      "description": "TV da entrada",
      "organization": {
        "uid": "8f14e45fceea167a5a36dedd4bea2543",
        "name": "Loja Centro"
      },
      "playlist": {
        "uid": "e4da3b7fbbce2345d7772b0674a318d5",
        "name": "Lista principal"
      },
      "status": "online",
      "last_seen_at": "2026-11-03T14:32:10-03:00",
      "activated_at": "2025-03-12T09:41:05-03:00",
      "app_version": "3.12.84",
      "os": "android",
      "device": {
        "brand": "TCL",
        "model": "43P635"
      },
      "timezone": "America/Sao_Paulo"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 2,
    "total": 3,
    "total_pages": 2
  }
}
Ungültiger Parameter400
GET /v1/tvs?per_page=500

{
  "error": {
    "code": "invalid_parameter",
    "message": "per_page must be a number between 1 and 100."
  }
}